Maison >interface Web >Questions et réponses frontales >Convertir du HTML en PDF à l'aide de nodejs
Avec le développement continu de la technologie Internet, de plus en plus d'applications doivent convertir le contenu Web au format PDF pour faciliter son partage et son téléchargement. Dans ce processus, Node.js peut être utilisé comme un outil puissant pour convertir des documents HTML au format PDF. Cet article couvrira le processus de conversion de HTML en PDF à l'aide de Node.js.
Avant de commencer, vous devez installer les packages nécessaires suivants dans votre système :
# 🎜🎜 #Sous le système Ubuntu, vous pouvez installer wkhtmltopdf via la commande suivante :
sudo apt-get install wkhtmltopdfInstaller les dépendances
npm install pdfkit
npm install fs
Écrivez le code
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 };
Convertir du HTML en PDF à l'aide de Node.js
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); });Dans cet exemple, nous utilisons la fonction createPDF pour convertissez test.html en test.pdf, en définissant la taille de la page et les marges.
Summary
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!