乐于分享
好东西不私藏

pdf-inspector:PDF解析神器,日涨1190星

pdf-inspector:PDF解析神器,日涨1190星

pdf-inspector:PDF解析神器,日涨1190星

处理 PDF 文本提取,你是不是还在用又慢又贵的 OCR?Firecrawl 团队开源的这个 Rust 库,不用 OCR 就能在 200ms 内完成分类、提取、转 Markdown 一条龙,今天一夜涨了 1190 星。
封面图

📌 项目名片

名称:firecrawl/pdf-inspector
语言:Rust  ·  Star:12.4k(今日 +1190)
License:MIT
仓库:https://github.com/firecrawl/pdf-inspector

🤔 它解决什么问题

做过后端或 AI 应用的同学一定遇到过这个场景:用户上传一个 PDF,你需要把里面的文字提取出来。传统做法无非两条路——

路线一:无脑上 OCR。 不管 PDF 里有没有文字,直接扔给 OCR 引擎(Tesseract、百度 OCR、Azure OCR 等),慢(2~10 秒/文档)、贵(按页计费)、还有识别误差。

路线二:用 PDF 解析库。 比如 PyMuPDF、pdfplumber,速度还行,但格式保留差——表格变乱码、排版丢失、代码块和正文糊在一起。

Firecrawl 团队在规模化处理网页和文档时发现一个关键数据:大约 54% 的 PDF 本来就是文本型的,根本不需要 OCR。于是他们用 Rust 从头写了一个轻量引擎——先快速判断 PDF 类型,文本型直接本地提取并转 Markdown,只有扫描件才路由到 OCR 服务。

这个决策直接省了一半以上的算力和成本。

✨ 核心亮点

🔍 毫秒级智能分类

10~50 毫秒判断 PDF 类型:文本型(TextBased)、扫描型(Scanned)、图片型(ImageBased)或混合型(Mixed)。还会精确告诉你「第 3、7、12 页需要 OCR」,支持按页路由而非粗暴的全有或全无。

⚡ 快得离谱的提取速度

在 200 页 PDF 的标准基准测试中,pdf-inspector 跑完全程仅 0.47 秒,比 PyMuPDF4LLM(17.1 秒)快 36 倍,比 MarkItDown(16.2 秒)快 34 倍。综合评分 0.875 在所有本地引擎中排名第一。

📝 高质量 Markdown 输出

自动识别并转换:标题层级(H1-H4,按字号比例)、表格(矩形检测+启发式对齐双模式)、代码块(等宽字体检测)、有序/无序列表、粗斜体、超链接、上下标……甚至能处理多栏布局和 RTL 文字。输出直接喂给 LLM 做 RAG,不用二次清洗。

🌐 全平台覆盖

一套 Rust 核心,四种绑定:Rust crate、Python(PyO3)、Node.js(napi-rs)、浏览器 WASM。无论你写后端服务还是前端工具,都能直接调用同一个引擎。

🪶 零外部依赖

纯 Rust 实现,无 ML 模型、无外部服务调用,唯一依赖 lopdf 做 PDF 解析。体积极小,部署零负担。

🚀 快速上手

CLI 一把梭(最快体验)

cargo install pdf-inspector
pdf2md document.pdf           # PDF → Markdown
pdf2md document.pdf --json    # JSON 输出
detect-pdf document.pdf       # 只看分类结果

Python

pip install maturin
maturin develop --release
import pdf_inspector

result = pdf_inspector.process_pdf("document.pdf")
print(result.pdf_type)    # "text_based", "scanned", etc.
print(result.markdown)    # 干净的 Markdown 文本

Node.js

npm install @firecrawl/pdf-inspector
import { readFileSync } from 'fs';
import { processPdf } from '@firecrawl/pdf-inspector';

const result = processPdf(readFileSync('document.pdf'));
console.log(result.pdfType);
console.log(result.markdown);

👥 适合谁

后端开发者:需要大规模处理用户上传的 PDF,想省 OCR 成本
RAG / 知识库 / AI 应用团队:高质量 Markdown 输出直接喂 LLM,减少幻觉
Rust 爱好者:纯 Rust 打造,性能极致,依赖干净
CLI 工具党:一行命令 pdf2md,轻量无侵入

边界提醒:pdf-inspector 处理文本型 PDF 表现最佳;纯扫描件/图片型 PDF 仍需走 OCR 流程,它只负责帮你快速识别、按页路由。

💡 小结

pdf-inspector 用一个轻量的设计解决了 PDF 文本提取的大半痛点——快、准、零外部依赖,Smart Routing 的思路尤其适合大规模文档处理流水线。如果你的项目也在跟 PDF 打交道,值得去 GitHub 给它点个 star ⭐,顺便试试 pdf2md 命令,看你的 PDF 能转出多干净的 Markdown。