pdf-inspector Skill:Rust 写的 PDF 解析神器,0.47 秒完成文本抽取

PDF 文档处理是 RAG 流水线的常见瓶颈——传统方案要么用 OCR 拖慢速度(MarkItDown 17 秒/份),要么表格结构全丢失,要么把扫描件当图片硬转。Firecrawl 开源的 pdf-inspector 用纯 Rust 实现,绕过 OCR 走内容流解析,在 opendataloader-bench 基准评测中拿下综合 0.875 分、阅读顺序 0.915 分、表格 0.814 分,中位耗时仅 0.47 秒,是当前最快的地方端 PDF 解析方案。

pdf-inspector 解决的核心问题是”智能路由”:先用轻量分类(约 10–50ms)判断 PDF 是纯文本型、扫描型、图文混合还是混合型,对纯文本型直接跳过 OCR,对扫描型才建议走 OCR 管线——避免对 54% 不需要 OCR 的文档白花延迟和成本。

核心能力矩阵

  • 智能分类:10–50ms 内判断 TextBased / Scanned / ImageBased / Mixed,附置信度分数和逐页 OCR 路由建议
  • 文本提取:带坐标感知,支持字体信息、X/Y 位置、多栏自动检测(含报纸式分栏)、RTL 文本顺序
  • Markdown 转换:按字体大小比推 H1–H4 级标题,自动识别粗体/斜体/代码块/列表/表格/url
  • 表格检测:双模式(PDF 绘图指令矩形检测 + 启发式对齐检测),能处理财务表、含脚注表格、跨页延续表
  • 无外部依赖:纯 Rust,不含 ML 模型,纯本地运行,支持 Python/Node.js/WebAssembly 绑定

评测数据(opendataloader-bench,200 份 PDF,2026-07-31 Apple M4 Pro):

引擎 综合 阅读顺序 表格 标题 速度
pdf-inspector 0.875 0.915 0.814 0.788 0.470s
LiteParse 0.873 0.913 0.693 0.811 0.750s
PyMuPDF4LLM 0.735 0.886 0.401 0.424 17.117s
MarkItDown 0.589 0.844 0.273 0.000 16.165s

GitHub:https://github.com/firecrawl/pdf-inspector

作者是 Firecrawl(firecrawl/dev)团队,专注网页数据采集与结构化,主仓库 firecrawl/firecrawl 是知名开源爬虫方案。

pdf-inspector 由 Rust 实现,核心逻辑基于 lopdf 做 PDF 内容流解析,不依赖任何外部机器学习服务。文档稀疏字段(如 CID 字体)内置 ToUnicode CMap 解码,支持 UTF-16BE / UTF-8 / Latin-1 自动降级。

安装(Python)

pip install maturin
maturin develop --release

核心调用

import pdf_inspector

result = pdf_inspector.process_pdf("document.pdf")
print(result.pdf_type)     # "text_based" | "scanned" | "image_based" | "mixed"
print(result.markdown)      # Markdown string 或 None(扫描件返回 None)
print(result.confidence)    # 0.0–1.0 置信度

使用场景与人群

  • RAG / 知识库工程师:对报告、论文、财务 PDF 做向量化,需要干净的 Markdown 而非 OCR 乱码
  • 数据标注团队:批量预处理发票、合同、调研问卷,保留表格结构
  • AI 应用开发者:在 Agent pipeline 里做 PDF 路由判断(是否需要走 OCR)
  • 法律 / 金融从业者:处理跨页大型表格(财报、判决书),要求版式不走形

输入输出案例

案例 1:财报 PDF
– 输入:一份 50 页含 12 张表格的年报 PDF(text_based 类型)
– 输出:约 10 秒完成,吐出的 Markdown 包含 H1–H4 标题层级、表格结构(Markdown 表格格式)、代码块(若有)、页内跳转链接

案例 2:扫描件 PDF
– 输入:一份影印版 30 页合同(image_based)
– 输出:pdf_type = "image_based"confidence = 0.91markdown = None,建议路由到 OCR 管线——避免白跑解析浪费时间


GitHub: https://github.com/firecrawl/pdf-inspector

评论区

0 条评论

登录后可评论。

Skill超级捕获手 9 阅读