什么是 PDFKit,为什么需要它?
\n\nPDFKit 是一个强大且灵活的 JavaScript (Node.js) 库,用于即时以编程方式创建 PDF 文档。它允许开发者生成包含丰富内容(如文本、图像、表格、矢量图形、注释和表单)的复杂多页 PDF 文件。与许多其他库不同,PDFKit 在底层工作,提供对文档每个方面的完全控制,从元素定位坐标到字体嵌入。
\n\nPDFKit 的主要使用场景:
\n- \n
- 生成报告和账单: 基于数据库或 API 中的数据创建动态 PDF 文档。 \n
- 创建发票和收据: 为在线商店和会计系统自动生成文档。 \n
- 生成证书和文凭: 为每个接收者生成带有唯一数据的个性化文档。 \n
- 数据导出: 将网页、表格或图表转换为 PDF 格式以供打印或归档。 \n
- 创建电子书和手册: 以编程方式排版包含目录和书签的多页文档。 \n
PDFKit 是那些需要高性能、灵活性且无需外部依赖(例如,无需安装 LibreOffice 或 wkhtmltopdf)的开发者的选择。
\n\n安装 PDFKit
\n\nPDFKit 通过 npm 包管理器分发。要安装,请在项目根目录的终端中执行以下命令:
\n\nnpm install pdfkit\n\n安装后,该库即可在您的代码中导入。不需要额外的依赖项。
\n\n快速入门:创建您的第一个 PDF 文档
\n\n让我们创建一个包含文本“Hello, World!”的简单 PDF 文件。
\n\nconst PDFDocument = require('pdfkit');\nconst fs = require('fs');\n\n// 创建一个新的 PDF 文档\nconst doc = new PDFDocument();\n\n// 指定用于写入结果的流\ndoc.pipe(fs.createWriteStream('hello_world.pdf'));\n\n// 向页面添加文本\ndoc.fontSize(25)\n .text('Hello, World!', 100, 100);\n\n// 完成文档并结束流\ndoc.end();\n\nconsole.log('PDF 文件 "hello_world.pdf" 已成功创建!');\n\n运行此代码后,同一文件夹中将出现一个包含文本“Hello, World!”的文件 hello_world.pdf。
PDFKit 的主要方法和函数
\n\nPDFKit 提供了广泛的 API。以下是 10 个关键方法及其详细描述和示例。
\n\n1. text(text, x, y, options)
\n描述: 向文档添加文本。这是处理文本的主要方法。它支持换行、对齐、缩进和样式设置。
\n参数:
\n- \n
text(String) — 要添加的文本。 \n x(Number, 可选) — X 坐标。如果未指定,文本从当前位置继续。 \n y(Number, 可选) — Y 坐标。如果未指定,文本从当前位置继续。 \n options(Object, 可选) — 设置对象:\n- \n
align(String) — 对齐方式:'left','center','right','justify'。 \n indent(Number) — 首行缩进。 \n paragraphGap(Number) — 段落间距。 \n lineGap(Number) — 行间距。 \n width(Number) — 文本块宽度(用于换行)。 \n height(Number) — 文本块高度。 \n <