把一份扫描合同当成普通 PDF 读取,往往只得到空白;反过来,把本来能直接复制文字的报告送去 OCR,又会多花时间和成本,还可能认错字。Rust 库 pdf-inspector 做的就是先分诊:判断 PDF 属于文本型、扫描型、图片型还是混合型,再决定哪些页面需要 OCR——也就是从图片中识别文字。
它会抽样检查 PDF 的内容流,作者称分类约需 10—50 毫秒,并返回置信度和逐页 OCR 路由。文本页则直接提取,还会参考文字坐标处理多栏阅读顺序,并转换成 Markdown。浏览器版借助 WebAssembly——让编译后的程序在网页环境运行——可在本机处理文件,不必上传服务器。
这对 RAG(先从文档找相关片段,再让模型回答)很关键:入库前若连页面类型都判断错,后面再强的模型也可能搜不到正确内容。项目方在 200 份 PDF、关闭 OCR 的本地测试中报告,总分为 0.875,完整处理耗时 0.470 秒;这些结果来自项目自测,适用范围仍以原生文本 PDF 为主。