Firecrawl 开源 pdf-inspector:毫秒级把 PDF 转成 Markdown,无需 OCR
Firecrawl 这家以网页数据抓取工具闻名的 Y Combinator 创业公司,开源了 pdf-inspector——一个用 Rust 写的库,能在几毫秒内判断一份 PDF 是文本型还是扫描件,并把文本型文档直接转成干净的 Markdown,完全不用 OCR。按团队估算,实际场景里约 54% 的 PDF 都是文本型,把它们塞进又慢又贵的 OCR 纯属浪费。
如果你曾把 PDF 喂给模型——合同、报告、书——就懂那种感觉:文件明明能打开,文字却复制不出来,或者复制出来是一团乱码。传统解析器要么在表格上卡壳,要么把每一页都过一遍 OCR,白白烧掉时间和钱。pdf-inspector 正好打在这个痛点上:先快速判断文件是什么,只有真遇到扫描件才动用 OCR。
先分类,再提取
这个库一次遍历就把 PDF 归为四类之一——TextBased、Scanned、ImageBased 或 Mixed——并返回 0 到 1 的置信度,外加逐页路由:哪些页当文本读,哪些页送进 OCR。分类只需 10–50 毫秒。之后对文本页做带坐标、字体和阅读顺序的提取,输出带标题、列表、表格和链接的 Markdown。
亮眼的数字
在 opendataloader-bench 的 200 份 PDF 语料上,pdf-inspector 用 0.47 秒处理完整个集合。对比一下:pymupdf4llm 用了 17 秒,markitdown 用了 16 秒。而且它的质量分还是最高的——总分 0.875,对比 pymupdf4llm 的 0.735 和 markitdown 的 0.589。表格识别更是明显领先:0.814 对 0.401 和 0.273。
还能做什么
报纸式多栏排版、从右到左的文字、CID 字体、损坏编码检测。还有选择性 OCR:如果 PDF 里混进几页扫描件,可以只把这几页本地过一遍 PP-OCRv6 Small,而不是整个文档。
短板在哪
说实话:真正的扫描件和文档照片仍然需要 OCR,pdf-inspector 在这里不是魔法——它只是不把 OCR 浪费在不需要的文件上。公式和排版与正文混在一起的复杂版面也可能翻车。而且它是库,不是现成服务:要用它,得写点代码。

有 Python、Node.js 和浏览器 WebAssembly 的绑定——同一个 Rust 解析器直接在浏览器里跑,无需服务器。GitHub 仓库已经超过 1.7 万颗星。如果你经常把 PDF 喂给模型,值得一看。