比行业领先者快 5 倍

最快的 PDF 库

支持 Rust、Python、JavaScript、TypeScript、Golang、C# 和 WASM

0.8ms
PDF 平均耗时
100%
通过率
3,830
测试 PDF 数量
5.1×
比第二名快
立即开始在 GitHub 上查看

数秒即上手。

一次安装,三行代码。

$ cargo add pdf_oxide
use pdf_oxide::PdfDocument; let mut doc = PdfDocument::open("paper.pdf")?; let text = doc.extract_text(0)?; let images = doc.extract_images(0)?;

一个库,全搞定。
创建|编辑|提取

单一依赖,覆盖所有 PDF 操作。
无封装层,无子进程调用,无 C/C++/Java 运行时。

01

创建

从任意来源格式生成 PDF。

  • Markdown
    将 Markdown 转换为像素级精确的 PDF,支持标题、列表、表格和代码块。
  • HTML
    将 HTML 标记转换为结构化 PDF 文档,完整支持 CSS 布局。
  • 图片
    从 PNG、JPEG、TIFF 生成单页或多页 PDF,自动调整尺寸。
  • QR & Barcodes
    Code128、EAN-13、UPC-A 和 QR 码,可配置纠错级别。
  • Builder API
    链式 PdfBuilder API,配置页面大小、边距、字体、元数据和页眉。
  • 表单
    文本框、复选框、单选按钮、下拉菜单、印章和水印。
02

编辑

修改现有 PDF 的任意部分。

  • DOM Editing
    查找文本、替换内容、更改样式 — 像操作网页一样操作 PDF。
  • 页面
    旋转、裁剪、合并文档、提取页面范围和重新排序。
  • 表单
    获取和设置字段值,添加或删除字段,扁平化为静态内容。
  • 注释
    添加高亮、注释和链接。选择性修改或扁平化。
  • 图片
    重新定位、调整大小,按精确坐标替换嵌入图片。
  • 安全
    AES-256 加密、密码和细粒度权限标志。
03

提取

从任意 PDF 提取一切。

  • 文本
    全页文本、带字体元数据的样式 span,或逐字符位置信息。
  • 图片
    内容流、嵌套 Form XObject 和带色彩空间的内联图像。
  • Markdown
    干净的 Markdown 或 HTML,支持标题检测和表格保留。
  • 表单
    所有字段值和类型。导出为 FDF 或 XFDF。XFA 分析。
  • 元数据
    XMP、Dublin Core、页标签、目录和尾部字典。
  • 搜索
    正则表达式、不区分大小写和全词匹配的全文搜索。

比所有替代方案快 5 倍。

基于 3 个公开测试集的 3,830 个真实 PDF 进行基准测试。

Node.js, Go, and C# share the same Rust core — expect matching numbers.

语言平均p99通过率许可证
PDF Oxide7 种语言0.8ms9ms100%MIT
PyMuPDFPython4.6ms28ms99.3%AGPL-3.0
oxidize_pdfRust13.5ms11ms99.1%MIT
pypdfium2Python4.1ms42ms99.2%Apache-2.0
pdfminerPython16.8ms124ms98.8%MIT
pdfplumberPython23.2ms189ms98.8%MIT
pypdfPython12.1ms97ms98.4%BSD-3
unpdfRust2.8ms10ms95.1%MIT
pdf_extractRust4.08ms37ms91.5%Apache-2.0
lopdfRust0.3ms2ms80.2%MIT

在 3,830 个 PDF(veraPDF、Mozilla pdf.js、DARPA SafeDocs)上测量。
单线程,无预热,60 秒超时。

100% 可靠,零意外。

在三个独立公开测试集的 3,830 个 PDF 上完成测试。
无恐慌、无超时、无崩溃。

3,823
有效 PDF 解析成功
零失败
99.5%
文本质量持平
对比 PyMuPDF 和 pypdfium2
7
故意损坏的 PDF
正确拒绝

语料库涵盖所有 PDF 版本(1.0–2.0)、加密文件、格式错误的文档、CJK 编码,以及 DARPA SafeDocs 专为测试解析器漏洞设计的安全边界用例。

立即开始。

商业和开源项目免费使用。

阅读文档