GGitHub 趋势观察站
每日 07:00 更新
← 返回今日榜单

firecrawl /

pdf-inspector

用于检测 PDF 文档类型、执行分类并提取文本内容的高性能 Rust 库。

访问 GitHub 仓库 ↗
最近上榜 · 2026-09-03#19

当日排名

+589当日新增 Star18,477总 Star

pdf-inspector:先判断 PDF 类型,再决定是否需要 OCR

一分钟看懂

pdf-inspector 是 Firecrawl 开源的高性能 PDF 分类与文本提取库。它先快速判断一份 PDF 是原生文字、扫描图片、纯图片还是混合类型,再提取有坐标和字体信息的文字,并转换成结构化 Markdown。真正需要识别的页面才交给 OCR,避免每份 PDF 都走昂贵而缓慢的识别流程。

核心解析器使用 Rust 编写,同时提供命令行、Python、Node.js 和浏览器 WebAssembly 接口。它适合成为文档处理流水线的入口:先检查文档,再把不同页面路由给普通解析器或 OCR。

你可以用它做什么

为知识库批量清洗 PDF

研究报告、合同、论文和财务资料经常混有双栏正文、表格和扫描页。pdf-inspector 可以提取标题、列表、代码块、链接和表格,生成更适合检索或交给大模型的 Markdown,并保留分页等结构信息。

降低 OCR 成本和延迟

很多 PDF 本身已有文字层,不需要图像识别。该库会抽样内容流并给出分类与置信度,还能按页判断是否需要 OCR。正常文字页走快速本地提取,只有扫描页或编码损坏页进入 OCR,节省算力和外部服务费用。

在浏览器中本地解析

WebAssembly 版本可以在浏览器和 Web Worker 中运行,同一套 Rust 解析逻辑无需把文件上传服务器。对隐私敏感的文档预览、离线工具和前端批处理,这种方式很有价值。

保留布局线索供后续处理

提取结果包含字体、坐标和阅读顺序,可识别多栏排版、从右到左文字以及跨页延续表格。后续系统可以根据这些信息重新分段、建立引用位置或做更精细的版面分析。

主要能力

  • 快速区分文字型、扫描型、图片型和混合型 PDF,并返回置信度。
  • 具有位置感知的文字提取、自动多栏阅读顺序和字体信息。
  • 将标题、列表、表格、粗斜体、代码块和链接转换为 Markdown。
  • 同时采用绘图矩形与文字对齐规则识别表格。
  • 检测字体编码异常,提示调用方回退到 OCR。
  • 仅对必要页面执行本地选择性 OCR,并记录页面处理来源。
  • 提供 Rust、CLI、Python、Node.js 和浏览器 WASM 入口。

适合哪些人

它适合构建 RAG 知识库、文档搜索、报告归档和数据抽取系统的开发者,也适合需要在本地快速筛查大量 PDF 的团队。尤其当资料大部分是原生文字、少部分是扫描件时,智能路由能明显简化处理流程。

如果文档主要是复杂手写内容、图片中的图表数据或极端版式,仅依靠它仍不够,需要专业 OCR、视觉模型或人工校对。

怎么开始使用

Python 用户可以安装 pdf-inspector,调用 process_pdf 获得文档类型和 Markdown;需要选择性 OCR 时使用对应 OCR 接口。Node、Rust 和浏览器用户按各自文档接入。建议先用自己业务中具有代表性的几十份 PDF 测试分类、表格和阅读顺序,再决定回退规则。

生产系统最好同时保存原文件、解析版本、页码和处理方式,抽样检查 Markdown 与原文的一致性。对失败文件应进入重试或人工队列,而不是静默丢弃。

使用前需要知道

“解析成功”不等于内容完全正确。特殊字体、加密文件、嵌套表格和视觉化图表都可能造成缺字或顺序错误。官方基准主要衡量指定语料和配置,自己的文档分布可能不同,应以业务测试为准。

OCR 运行时、模型文件和 PDFium 等依赖并非所有默认构建都会自动包含。开启 OCR 会增加安装体积和资源消耗。处理合同、个人资料等敏感文档时,也应明确文件是否离开本机以及日志中是否保留原文。

官方资料