인터넷이 발전함에 따라 점점 더 많은 웹사이트에서 사용자가 오프라인에서 읽거나 인쇄할 수 있도록 PDF 형식의 문서 다운로드를 제공해야 합니다. Node.js를 사용하여 HTML을 PDF로 변환하는 것이 인기 있는 솔루션이 되었습니다.
이 글에서는 Node.js를 사용하여 HTML을 PDF로 변환하는 방법을 소개하고 관련 기술과 주의사항을 분석하겠습니다.
환경 준비:
HTML을 PDF로 변환하기 전에 Node.js 및 관련 종속성이 로컬 환경에 설치되어 있는지 확인해야 합니다. 이 기사에 사용된 종속성에는 html-pdf, ejs, express 등이 포함됩니다.
Install html-pdf
html-pdf는 npm을 통해 설치할 수 있는 오픈 소스 Node.js 패키지입니다.
npm install -g html-pdf
Install express
express는 다음을 통해 설치할 수 있는 Node.js 기반 웹 애플리케이션 개발 프레임워크입니다. npm 설치:
npm install -g express
Install ejs
ejs는 npm을 통해 설치할 수 있는 효율적인 JavaScript 템플릿 엔진입니다.
npm install -g ejs
간단한 웹 애플리케이션 만들기:
다음으로 HTML에서 PDF로의 변환을 테스트하기 위한 간단한 웹 애플리케이션을 만듭니다. 효과.
npm init
<!doctype html> <html> <head> <title>HTML转PDF</title> <meta charset="utf-8"> </head> <body> <h1>HTML转PDF</h1> <p>这是一段需要转换为PDF的HTML内容。</p> </body> </html>
const express = require('express'); const app = express(); const ejs = require('ejs'); const path = require('path'); // 设置模板引擎 app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); // 服务器首页 app.get('/', function(req, res) { res.render('index'); }); // 转换HTML为PDF并进行下载 app.get('/download', function(req, res) { const pdf = require('html-pdf'); const html = ejs.render('<%- include(\'../public/index.html\') %>', {}); const options = { format: 'A4' }; pdf.create(html, options).toStream(function(err, stream) { if (err) return res.send(err.message); res.setHeader('Content-disposition', 'attachment; filename=sample.pdf'); res.setHeader('Content-type', 'application/pdf'); stream.pipe(res); }); }); // 启动服务器 app.listen(3000, function() { console.log('App listening on port 3000!'); });
위 코드에서는 두 가지 경로를 정의합니다. 하나는 서버 홈페이지에 액세스하는 경로(/)이고 다른 하나는 HTML을 PDF로 변환하여 다운로드하는 경로(/download)입니다.
그 중 ejs 템플릿 엔진은 공용 폴더에 있는 index.html 파일을 렌더링하는 데 사용되고, html-pdf는 렌더링된 HTML 파일을 변환하는 데 사용되며, 마지막으로 브라우저를 사용하여 PDF 파일을 다운로드로 저장합니다.
<!doctype html> <html> <head> <title>HTML转PDF</title> <meta charset="utf-8"> </head> <body> <h1>HTML转PDF</h1> <p>这是一段需要转换为PDF的HTML内容。</p> <a href="/download">下载PDF</a> </body> </html>
node app.js
이 글은 Node.js를 기반으로 HTML을 PDF로 변환하는 간단한 가이드일 뿐입니다. 자세한 내용과 기능은 html-pdf, ejs, express 및 기타 관련 문서를 참조하세요. 동시에 실제 신청 과정에서는 HTML을 PDF로 변환하는 작업의 효율성과 품질을 향상시키기 위해 캐싱 및 HTML 구조 복잡성과 같은 요소에도 주의를 기울여야 합니다.
위 내용은 Node.js를 사용하여 HTML을 PDF로 변환하는 방법(가이드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!