PDFKit for JavaScript (Node.js): 完整指南与示例

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

什么是 PDFKit,为什么需要它?

\n\n

PDFKit 是一个强大且灵活的 JavaScript (Node.js) 库,用于即时以编程方式创建 PDF 文档。它允许开发者生成包含丰富内容(如文本、图像、表格、矢量图形、注释和表单)的复杂多页 PDF 文件。与许多其他库不同,PDFKit 在底层工作,提供对文档每个方面的完全控制,从元素定位坐标到字体嵌入。

\n\n

PDFKit 的主要使用场景:

\n
    \n
  • 生成报告和账单: 基于数据库或 API 中的数据创建动态 PDF 文档。
  • \n
  • 创建发票和收据: 为在线商店和会计系统自动生成文档。
  • \n
  • 生成证书和文凭: 为每个接收者生成带有唯一数据的个性化文档。
  • \n
  • 数据导出: 将网页、表格或图表转换为 PDF 格式以供打印或归档。
  • \n
  • 创建电子书和手册: 以编程方式排版包含目录和书签的多页文档。
  • \n
\n\n

PDFKit 是那些需要高性能、灵活性且无需外部依赖(例如,无需安装 LibreOffice 或 wkhtmltopdf)的开发者的选择。

\n\n

安装 PDFKit

\n\n

PDFKit 通过 npm 包管理器分发。要安装,请在项目根目录的终端中执行以下命令:

\n\n
npm install pdfkit
\n\n

安装后,该库即可在您的代码中导入。不需要额外的依赖项。

\n\n

快速入门:创建您的第一个 PDF 文档

\n\n

让我们创建一个包含文本“Hello, World!”的简单 PDF 文件。

\n\n
const 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。

\n\n

PDFKit 的主要方法和函数

\n\n

PDFKit 提供了广泛的 API。以下是 10 个关键方法及其详细描述和示例。

\n\n

1. 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 <

推荐