乐于分享
好东西不私藏

放弃暴力 OCR!毫秒级区分扫描件,PDF 提纯效率直接拉满!

放弃暴力 OCR!毫秒级区分扫描件,PDF 提纯效率直接拉满!
FIRECRAWL · 开源2026.08

RAG 最难的永远是 PDF?

一份 PDF 进来,先问是不是扫描件

再决定要不要烧 OCR

Firecrawl 开源 · Rust 库 · 本地 200ms · MIT 协议

pdf-inspector by Firecrawl

RUSTMIT

做 AI 知识库、做 RAG 检索的朋友,应该都跟 PDF 干过架

约 54% 的 PDF 压根不需要 OCR,可没人告诉你哪一半

01

PART

被 PDF 折磨的共同记忆

THE PAIN

做 AI 知识库、做 RAG 检索的朋友,应该都跟 PDF 干过架。上传一份几十页的报告,提取出来的文字东一块西一块,表格散了,多栏串行,遇到扫描件直接把 OCR 引擎拖到两秒一份。

更气的是成本。整条流水线不管三七二十一全走 OCR,一份两秒、一天几万份就是实打实的算力账单。后来才知道,约 54% 的 PDF 其实不需要 OCR,可从来没人提前告诉你该把哪一半拦下来。

一份 PDF 进来就无脑丢给 OCR,相当于每次出门都打飞的——能用但肉疼。真正的问题不是「要不要 OCR」,而是「这份 PDF 到底需不需要」。

02

PART

先分类,再路由

HOW IT WORKS

Firecrawl(就是做 AI 爬虫 那个团队)最近开源了个 Rust 库 pdf-inspector,专治这个。它干的事很聚焦——拿到一份 PDF,先用几十毫秒判断它是文本型还是扫描件,文本型的本地直接提取,扫描件才丢给 OCR。

PDF 到达

任意一份文档

智能分类

文本型 / 扫描件

分流处理

本地提 / 送 OCR

能本地解决的不花 OCR 的钱,这就是「路由」的价值

据它自己的 benchmark,文本型 PDF 在本地 低于 200ms 就能处理完。纯 Rust、无 ML 模型,只依赖 lopdf,所以又轻又快,灌进流水线几乎没有额外负担。

03

PART

四个亮点

KEY FEATURES

SKILL 1

智能分类与 OCR 路由

返回 TextBased / Scanned / ImageBased / Mixed 四种类型,带 0.0–1.0 置信度,还能逐页告诉你哪些页需要 OCR,直接喂给路由逻辑。

SKILL 2

位置感知的文本提取

提取时带 X/Y 坐标、字体信息,能自动处理多栏阅读顺序,不会再把左右两栏的文字串成一团。

SKILL 3

干净的 Markdown 输出

标题、列表、代码块、表格、粗斜体、URL、分页符都能识别;CID 字体(ToUnicode CMap、UTF-16BE/UTF-8)也能解,断码乱码少很多。

SKILL 4

浏览器里也能跑

同一套 Rust 解析器编译成 WASM,在 Web Worker 里本地运行,不上传服务器——前端也能直接用,不用自己搭后端。

04

PART

本地实操:多语言一行装好

TRY IT

装在本地很简单,Python、Node、Rust、甚至浏览器都有绑定,挑你顺手的就行。

...python

pip install pdf-inspector

import pdf_inspector

result = pdf_inspector.process_pdf("document.pdf")

print(result.pdf_type) # text_based / scanned / ...

print(result.markdown)

...javascript

import { readFileSync } from 'fs';

import { processPdf } from '@firecrawl/pdf-inspector';

const result = processPdf(readFileSync('document.pdf'));

...rust

use pdf_inspector::process_pdf;

let result = process_pdf("document.pdf")?;

...bash

cargo install pdf-inspector

pdf2md document.pdf # 转 Markdown

detect-pdf document.pdf # 仅检测类型

在 opendataloader-bench(200 份 PDF、无 OCR)里,pdf-inspector 综合 0.875、阅读顺序 0.915、表格 TEDS 0.814,速度 0.470s 跑完全部最常见——对比 liteparse、opendataloader、pymupdf4llm、markitdown 都领先或持平。

先说清楚:项目还年轻。star 6.8K、2026-02 才建仓,API 还在 0.x 阶段会变动;benchmark 是官方跑的,第三方独立验证还少;扫描件识别再准,也得接 OCR 才能完整处理;没有 ML 模型,极端复杂版面(比如古籍手稿)可能不如大模型方案。

///

LAST

写在最后

MY TAKE

做 RAG 的人最怕两件事——成本高、质量差。pdf-inspector 的思路朴素又实用:先分类再路由,能本地解决的不花 OCR 的钱。它不是要取代谁,是给流水线加了个「开关」。被 PDF 折磨过的朋友,这个值得先加到工具箱里试试。

我是开源食谱,专注分享 AI 工具与开源实战,欢迎关注

推荐阅读:

让 Chrome 侧边栏瞬间好用十倍!相见恨晚!这款不到 57KB 的开源神器,直接让我的 Notion 吃灰了

7.5K star!一款全本地开源的语音代理框架,HF 出品,VAD→STT→LLM→TTS 随便换

丢一张图给AI,直接生成能转能动的3D模型,确实可以封神了!