Dengan perkembangan teknologi Internet yang berterusan, semakin banyak aplikasi perlu menukar kandungan web kepada format PDF untuk memudahkan perkongsian dan muat turun. Dalam proses ini, Node.js boleh digunakan sebagai alat yang berkuasa untuk menukar dokumen HTML kepada format PDF. Artikel ini akan merangkumi proses menukar HTML kepada PDF menggunakan Node.js.
Sebelum anda bermula, anda perlu memasang pakej yang diperlukan berikut dalam sistem anda:
Wkhtmltopdf ialah arahan berdasarkan enjin WebKit Ia adalah alat dalam talian yang boleh menukar dokumen html ke dalam fail pdf Ia juga menyokong penambahan tera air, pengepala dan pengaki dan banyak ciri lain.
Di bawah sistem Ubuntu, anda boleh memasang wkhtmltopdf melalui arahan berikut:
sudo apt-get install wkhtmltopdf
Seterusnya, anda perlu memasang modul pdfkit dan fs , kedua-duanya boleh dipasang melalui pengurus pakej npm.
Masukkan arahan berikut pada baris arahan untuk memasang:
npm install pdfkit
npm install fs
Selepas memasang dependensi yang berkaitan, anda boleh mula menulis kod JavaScript . Anda boleh mencipta fail bernama "html-to-pdf.js" dan menulis kod berikut:
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 };
Dalam kod ini, kami memperkenalkan modul pdfkit, fs dan wkhtmltopdf dan menulis tiga Fungsi: generatePDF, writePDF dan createPDF.
Fungsi generatePDF digunakan untuk menukar fail HTML kepada format PDF. Ia memerlukan lulus tiga parameter: html, pilihan dan panggil balik.
Fungsi writePDF digunakan untuk menulis dokumen PDF ke sistem fail. Ia memerlukan lulus tiga parameter: dokumen, laluan dan panggil balik.
Fungsi createPDF ialah pusat kawalan keseluruhan proses Ia boleh memanggil fungsi generatePDF dan writePDF untuk melengkapkan proses menukar HTML kepada PDF.
Sekarang anda telah selesai menulis kod, anda boleh mula menukar HTML kepada PDF menggunakan Node.js. Anda boleh memasukkan arahan berikut dalam baris arahan:
node html-to-pdf.js
Sebagai alternatif, anda boleh menggunakan modul ini dalam projek anda sendiri:
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); });
Dalam contoh ini, kami menggunakan fungsi createPDF untuk menguji .html ditukar kepada test.pdf dengan saiz halaman dan margin ditetapkan.
Dalam artikel ini, kami memperkenalkan cara menggunakan Node.js untuk menukar HTML kepada PDF Langkah khusus termasuk memasang kebergantungan, menulis kod dan menggunakan Node .js untuk penukaran dan banyak lagi. Jika anda perlu mengendalikan tugas penukaran HTML yang meluas, menggunakan Node.js boleh memberi anda penyelesaian yang cekap, fleksibel dan berskala.
Atas ialah kandungan terperinci Tukar html kepada pdf menggunakan nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!