📅  最后修改于: 2023-12-03 15:24:17.931000             🧑  作者: Mango
在 Node.js 中创建 PDF 文档可以使用多种不同的库和工具。本文将介绍两种不同的方式。
PDFKit 是一个流式的 PDF 生成器,可以用于 Node.js 应用程序中。它使用 Canvas API 来绘制 PDF 内容,并将其转换为 PDF 文件。
首先,使用 npm 安装 PDFKit。
npm install pdfkit
然后创建一个 PDF 文档:
const PDFDocument = require('pdfkit');
const fs = require('fs');
const doc = new PDFDocument();
doc.pipe(fs.createWriteStream('output.pdf'));
doc.text('Hello World!');
doc.end();
使用 PDFDocument
类创建一个 PDF 文档实例,并将其管道连接到文件系统写入流。然后可以使用 text
方法添加文本内容。
PDFKit 还提供了其他方法来添加更多类型的内容,例如图像,表格,列表等等。更多信息可以在 官方文档 中查找。
Puppeteer 是一个 Node.js 库,它提供了一种可以操作 headless Chrome 的方法。使用 Puppeteer,可以生成 PDF 文件,而不需要安装任何第三方库。
首先,使用 npm 安装 Puppeteer。
npm install puppeteer
然后创建一个 PDF 文档:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.google.com', {waitUntil: 'networkidle2'});
await page.pdf({path: 'output.pdf', format: 'A4'});
await browser.close();
})();
使用 puppeteer.launch
方法启动一个 headless Chrome 实例,并使用 browser.newPage
创建一个新页面。然后,使用 page.goto
方法导航到指定的 URL。在该页面加载完成之后,调用 page.pdf
方法生成 PDF 文件。
Puppeteer 还有更多功能,例如截屏,自动化测试等等。更多信息可以在 官方文档 中查找。
本文介绍了两种不同的方式,在 Node.js 中创建 PDF 文档。PDFKit 提供了一个流式的 API,使得添加内容变得非常容易。Puppeteer 利用 headless Chrome 实例提供了更多功能,例如自动化测试。选择哪种方式取决于具体的需求。