基于 Nuxt 的文档框架,用 Markdown 文件和 Vue 组件构建文档站点。
Lulzx/tinypdf
零依赖的极简 TypeScript PDF 生成库,支持文字、矩形、线条、JPEG 图片和链接。
- Star
- 1,923
- Fork
- 76
- 未关闭 Issue
- 0
- 最近提交
- 2个月前
这是什么?
tinypdf 是一个面向 TypeScript 和 JavaScript 的小型 PDF 生成库,无任何依赖,代码不到 400 行,压缩后约 3.3 KB。它刻意不支持自定义字体、PNG/SVG、表单、加密和 HTML 转 PDF,只专注于在页面上放置文字和图片。
文档通过回调式 API 构建:创建页面后可绘制文字、矩形、线条、JPEG 图片和可点击链接,调用 build() 得到 Uint8Array,或调用 buildStream() 以 ReadableStream 形式输出大文件。markdown() 可将包含标题、列表和分隔线的简单 Markdown 转为分页 PDF,measureText() 可按点数计算文字宽度。
它适合生成版式固定、使用 Helvetica 字体即可满足需求的发票、收据、报表、票据和证书。如需 Unicode 字体或更复杂的 PDF 功能,可以考虑 jsPDF 或 pdf-lib。
核心功能
- 01使用 Helvetica 字体绘制文字,可设置字号、十六进制颜色和对齐方式。
- 02支持在页面上添加填充矩形、线条和 JPEG 图片。
- 03可创建带可选下划线的可点击链接。
- 04支持多页文档和自定义页面尺寸。
- 05可将简单的 Markdown 转换为分页 PDF。
- 06通过 buildStream() 以流的方式输出大型文档。
适用场景
- 生成版式固定的发票和收据。
- 制作带有logo和签名图片的票据或证书。
- 在 Node、Bun 或服务端 JavaScript 应用中导出数据报表为 PDF。
- 在不引入较重依赖的前提下,通过 HTTP 响应返回 PDF 文件。
快速上手
- 1
从 npm 安装该包
npm install tinypdf - 2
导入 pdf,创建文档,添加带文本和图形的页面,然后写入文件
- 3
使用 Bun 运行任意示例
bun examples/executive-report.ts
使用前须知
- 文本仅支持内置 Helvetica 字体和 WinAnsi 编码,不支持 Unicode 或自定义字体。
- 图片仅支持 JPEG,不支持 PNG、GIF 和 SVG。
- 不包含表单、加密、压缩和 HTML 转 PDF 等功能。
标签
常见问题
- tinypdf 是什么?
- 零依赖的极简 TypeScript PDF 生成库,支持文字、矩形、线条、JPEG 图片和链接。 tinypdf 是一个面向 TypeScript 和 JavaScript 的小型 PDF 生成库,无任何依赖,代码不到 400 行,压缩后约 3.3 KB。它刻意不支持自定义字体、PNG/SVG、表单、加密和 HTML 转 PDF,只专注于在页面上放置文字和图片。
- tinypdf 可以免费使用吗?用的什么许可证?
- tinypdf 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- tinypdf 还在维护吗?
- 半年内有更新。tinypdf 最近一次提交是在 2026年8月13日。
- tinypdf 适合用来做什么?
- 生成版式固定的发票和收据。 制作带有logo和签名图片的票据或证书。 在 Node、Bun 或服务端 JavaScript 应用中导出数据报表为 PDF。 在不引入较重依赖的前提下,通过 HTTP 响应返回 PDF 文件。
- tinypdf 怎么安装和运行?
- 从 npm 安装该包: npm install tinypdf 导入 pdf,创建文档,添加带文本和图形的页面,然后写入文件 使用 Bun 运行任意示例: bun examples/executive-report.ts
- 在哪里获取 tinypdf?
- 源代码和安装说明在 GitHub 上:https://github.com/Lulzx/tinypdf
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
开源文档解析工具,把 PDF、Office、HTML 等文件转换为结构化数据,供生成式 AI 使用。
Rust 库与命令行工具,判断 PDF 是文本型还是扫描型,并将文本型 PDF 无需 OCR 转为 Markdown。
开源的电子文档签署平台,可自托管,定位为 DocuSign 的开源替代方案。
一款基于 Rust 的快速本地文档解析工具,支持带坐标的文本提取、OCR 和 Markdown/JSON 输出。
为 AI 智能体提供排版规则与模板,可导出 PDF、PNG 和可编辑的 PPTX。