nodejs를 사용하여 HTML을 PDF로 변환
May 12, 2023 pm 12:28 PM인터넷 기술이 지속적으로 발전함에 따라 더 쉽게 공유하고 다운로드할 수 있도록 웹 콘텐츠를 PDF 형식으로 변환해야 하는 응용 프로그램이 점점 더 많아지고 있습니다. 이 과정에서 Node.js는 HTML 문서를 PDF 형식으로 변환하는 강력한 도구로 사용될 수 있습니다. 이 기사에서는 Node.js를 사용하여 HTML을 PDF로 변환하는 과정을 다룰 것입니다.
- 필요한 종속성 설치
시작하기 전에 시스템에 다음 필수 패키지를 설치해야 합니다.
- Node.js 개발 환경
- npm - Node.js용 패키지 관리자
- wkhtmltopdf - 생성하는 도구 웹 페이지의 PDF
Wkhtmltopdf는 WebKit 엔진을 기반으로 하는 명령줄 도구로, HTML 문서를 PDF 파일로 변환할 수 있으며 워터마크, 머리글, 바닥글 및 기타 여러 기능 추가도 지원합니다.
Ubuntu 시스템에서는 다음 명령을 통해 wkhtmltopdf를 설치할 수 있습니다:
sudo apt-get install wkhtmltopdf
- Install dependency
다음으로 npm 패키지 관리자를 통해 설치할 수 있는 pdfkit 및 fs 모듈을 설치해야 합니다.
설치하려면 명령줄에 다음 명령을 입력하세요.
npm install pdfkit
npm install fs
- 코드 작성
관련 종속성을 설치한 후 JavaScript 코드 작성을 시작할 수 있습니다. "html-to-pdf.js"라는 파일을 만들고 다음 코드를 작성할 수 있습니다.
const pdfkit = require('pdfkit'); const fs = require('fs'); const wkhtmltopdf = require('wkhtmltopdf'); // 生成 PDF function generatePDF(html, options, callback) { // 创建文件流 const inputStream = fs.createReadStream(html); // 调用 wkhtmltopdf wkhtmltopdf(inputStream, options, (error, stream) => { if (error) { callback(error); } else { callback(null, stream); } }); } // 写 PDF function writePDF(doc, path, callback) { const writeStream = fs.createWriteStream(path); writeStream.on('error', (error) => { callback(error); }); doc.pipe(writeStream); doc.end(); } // 创建 PDF function createPDF(html, path, options, callback) { const doc = new pdfkit(); generatePDF(html, options, (error, stream) => { if (error) { callback(error); } else { doc.on('pageAdded', () => { doc.image(stream, { fit: [doc.page.width - 100, doc.page.height - 100], align: 'center', valign: 'center' }); }); doc.pipe(fs.createWriteStream(path)); doc.end(); callback(null, path); } }); } // 导出模块 module.exports = { createPDF, writePDF, generatePDF };
이 코드에서는 pdfkit, fs 및 wkhtmltopdf 모듈을 도입하고 generatePDF, writePDF 및 createPDF의 세 가지 함수를 작성했습니다.
generatePDF 기능은 HTML 파일을 PDF 형식으로 변환하는 데 사용됩니다. html, 옵션, 콜백이라는 세 가지 매개변수를 전달해야 합니다.
writePDF 기능은 PDF 문서를 파일 시스템에 쓰는 데 사용됩니다. doc, path 및 callback이라는 세 가지 매개변수를 전달해야 합니다.
createPDF 기능은 전체 프로세스의 제어 센터입니다. generatePDF 및 writePDF 기능을 호출하여 HTML을 PDF로 변환하는 프로세스를 완료할 수 있습니다.
- Node.js를 사용하여 HTML을 PDF로 변환
이제 코드 작성이 완료되었으므로 Node.js를 사용하여 HTML을 PDF로 변환할 수 있습니다. 명령줄에 다음 명령을 입력할 수 있습니다:
node html-to-pdf.js
또는 자신의 프로젝트에서 이 모듈을 사용할 수 있습니다:
const htmlToPdf = require('./html-to-pdf'); htmlToPdf.createPDF('test.html', 'test.pdf', { pageSize: 'letter', marginTop: '0mm', marginBottom: '0mm', marginLeft: '0mm', marginRight: '0mm' }, (err, result) => { if (err) { console.error(err); return; } console.log('File saved to: ' + result); });
이 예에서는 createPDF 함수를 사용하여 test.html을 test.pdf로 변환합니다. 크기와 여백도 설정됩니다.
- 요약
이 기사에서는 Node.js를 사용하여 HTML을 PDF로 변환하는 방법을 소개했습니다. 구체적인 단계에는 종속성 설치, 코드 작성, 변환을 위해 Node.js 사용 등이 포함됩니다. 광범위한 HTML 변환 작업을 처리해야 하는 경우 Node.js를 사용하면 효율적이고 유연하며 확장 가능한 솔루션을 제공할 수 있습니다.
위 내용은 nodejs를 사용하여 HTML을 PDF로 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











useeffect 란 무엇입니까? 부작용을 수행하는 데 어떻게 사용합니까?

JavaScript의 고차 기능은 무엇이며 어떻게 간결하고 재사용 가능한 코드를 작성하는 데 어떻게 사용할 수 있습니까?

카레는 JavaScript에서 어떻게 작동하며 그 이점은 무엇입니까?

React Reconciliation 알고리즘은 어떻게 작동합니까?

usecontext는 무엇입니까? 구성 요소간에 상태를 공유하는 데 어떻게 사용합니까?
