老鬼做文档链路时,最烦一种浪费:PDF 里明明能直接选中文字,系统还是不管三七二十一,先送去 OCR。延迟上来了,费用多一层,版式还可能被识别坏。做 RAG、知识库时,几个文件没感觉,量一大就肉疼。
Firecrawl 开源的 pdf-inspector,干的就是前置分流。它不只判断“扫描版还是文字版”,还会区分 TextBased、Scanned、ImageBased 和 Mixed,给出置信度以及逐页 OCR 建议。分类通常在 10 到 50 毫秒,文字型 PDF 可在本地 200 毫秒内处理;大约 54% 的 PDF 根本不需要 OCR。
这就很现实。

文字版直接抽取,再转成 Markdown。老鬼看这种项目一般不先看宣传词,先看标题、表格、多栏阅读顺序能不能保住。pdf-inspector 会利用字体大小、坐标和绘图信息还原标题层级、列表、表格和多栏排版,核心是 Rust,本地跑,不挂模型,也不用调用外部解析服务。
接口没绕弯:Python、Node.js、Rust 都能接,浏览器端还有 WebAssembly。做个本地 PDF 检测页,文件不必先上传后端,浏览器里就能分类和提取。对内部报告、合同这类文档,这个点比“又快了多少”更值钱。

不过先别急着吹成万能解析器。仓库 issue 里已经有人碰到双栏文本顺序交错、部分中日韩字体解码异常;极少数超大或矢量图很多的 PDF,也可能明显变慢。PDF 这玩意儿历史包袱太重,号称全吃的方案,老鬼都先打个问号。
我会把它放在 OCR 前面:先分类,能直接抽的就直接抽,只有扫描页、乱码页再走 OCR。不是替代 OCR,是少让 OCR 干冤枉活。
做 RAG 入库、合同解析、论文转 Markdown,或者手里已

经有文档流水线的,可以拿它当第一道闸门。
Github地址:firecrawl/pdf-inspector
夜雨聆风