Skip to content

pdf-inspector

PDF 结构解析,为速度而生

毫秒级判断 PDF 是文本型、扫描型还是混合型,把文本型 PDF 直接转成干净、带位置信息的 Markdown——约 54% 的 PDF 根本不需要 OCR。开源 Rust 库,纯本地运行,支持 Node.js / Python / Rust / 浏览器 / CLI。

限时免费领取 300 万 Token 立即领取

pdf-inspector

在线解析 Demo

由 @firecrawl/pdf-inspector-wasm 驱动,拖入一份 PDF,先看类型判定,再拿 Markdown,全程在你的浏览器里完成。

把 PDF 拖到这里,或点击选择文件

解析在浏览器本地完成,文件不会上传到任何服务器

PDFMarkdown类型检测多栏还原表格中日韩支持

pdf-inspector

pdf-inspector 是什么

来自 Firecrawl 的开源 PDF 解析引擎,也是混合 OCR 管线的「第一道关卡」

pdf-inspector 是一个用 Rust 编写的开源库,解决的是 LLM 时代最常见的文档难题:拿到一份 PDF,先搞清楚它能不能直接提取文字,能提就本地快速提取,不能提再送去昂贵的 OCR。

它能在约 10–50ms 内给出类型判定(TextBased / Scanned / ImageBased / Mixed)和置信度分数,并精确列出哪些页需要 OCR。对占比约 54% 的原生文本 PDF,它直接在本地 200ms 内完成提取和 Markdown 转换——不加载 OCR 模型、不调用外部服务、一个字节都不上传。

单次解析,全程复用:文档只加载一次,检测、布局分析、表格识别和 Markdown 渲染共享同一次解析结果,没有重复开销。

针对真实世界的脏 PDF 做了大量工程:CID/Type0 字体通过 ToUnicode CMap 解码,中日韩内嵌 CMap;报纸式多栏自动还原阅读顺序;表格同时支持矩形框线和对齐启发式两种检测;编码损坏的页面会被标记出来,交给上层路由到 OCR。

查看完整介绍 →

pdf-inspector

核心能力

一条流水线上真正拿得出手的六件事

detector.rs

📄 文档分类

约 10–50ms 内判定 TextBased / Scanned / ImageBased / Mixed 四种类型,返回 0–1 置信度分数和逐页信号,为下游路由提供依据。

layout.rs

🧭 阅读顺序还原

从带位置的文本重建多栏、报纸式版面,跨栏的逻辑流保持正确,RTL(从右向左)文本同样支持。

tables/

📊 表格结构

矩形绘制操作、线网格与文本对齐启发式三路合并,还原单元格、财务报表和跨页续表。

tounicode.rs

🔤 字体解码

CID 与 Type0 字体经 ToUnicode CMap 正确解码,常见内嵌字体和字符编码有回退方案;解码损坏会被自动标记以便回退 OCR。

markdown/

📝 语义 Markdown

标题(按字号比例分级)、列表、代码块、粗斜体、链接、表格、分页标记一次成型,输出对 token 友好、喂给大模型正合适。

napi/ · wasm/

📦 五端打包

npm、PyPI、crates.io 三渠道安装,浏览器 WASM 单线程构建无需跨域隔离,npm 包附带 TypeScript 定义与 CLI。

pdf-inspector

处理流水线

一次解析,五个阶段,直达结构化输出

1

检测 detector

抽样渲染页面像素,10–50ms 判定文档类型与置信度,列出需要 OCR 的页码。只关心类型?停在 detectPdf 这一层即可。

2

提取 extractor

按内容流拉出每个文本片段的位置、字体、字号,CID/Type0 字体走 ToUnicode CMap 解码成真正的 Unicode。

3

排版 layout

把碎片重组成行、段落和阅读顺序:多栏、报纸式版面自动归位,RTL 文本方向正确处理。

4

表格 tables

框线检测与文本对齐启发式双模式识别单元格,财务表格与跨页续表都能接上。

5

输出 markdown

标题、列表、表格、链接、强调、分页标记序列化成干净的 GitHub Flavored Markdown,可直接进 RAG 或微调管线。

💡 只需要类型判定做路由?用 detectPdf/detect_pdf,跳过全部提取开销。

pdf-inspector

为什么选择 pdf-inspector

跟 liteparse、opendataloader、markitdown 们放一起比,快且准

🏆 综合评分领先

官方 opendataloader-bench 基准(200 份真实 PDF):综合得分 0.875 排名第一,表格 TEDS 0.814、阅读顺序 0.915 同样居首。

🚀 快出一个数量级

200 个文档全量跑完只要 0.470 秒——liteparse 是 0.750s,opendataloader 2.569s,pymupdf4llm 和 markitdown 都要 16s 以上。

🔒 省钱的架构设计

先分类后提取:文本型 PDF 本地直转,只有真正需要的页面才送 OCR。不装模型、不起服务,WASM 版连设备都不出。

查看完整基准数据 →

pdf-inspector

快速上手

从第一条命令到五端 API 全掌握

📖 按需求找用法:PDF 转 Markdown 指南 · 在线解析 PDF · 判断 PDF 是否扫描版

pdf-inspector

常见问题解答

关于类型判定、隐私、性能与授权的常见疑问。

pdf-inspector 是什么?

pdf-inspector 是 Firecrawl 开发的开源 Rust 库,用于 PDF 分类、文本提取和 Markdown 转换。它能毫秒级判断 PDF 是文本型还是扫描型,把文本型 PDF 本地转换成干净、带位置信息的 Markdown,也是 Firecrawl 混合 OCR 管线的底层解析引擎。

怎么判断一份 PDF 是文本型还是扫描型?

最简单的办法是把文件拖进本页顶部的在线 Demo:pdf-inspector 会抽样渲染页面像素,约 10–50ms 给出 TextBased / Scanned / ImageBased / Mixed 判定和置信度,并列出具体哪些页需要 OCR。命令行用户也可以用 detect-pdf 文件.pdf 一条命令拿到同样结果,详见「如何判断 PDF 是文本型还是扫描型」。

有免费的在线 PDF 转 Markdown 工具吗?

有。本页顶部的在线解析就是免费的 PDF 转 Markdown 转换器:纯浏览器本地运行(WebAssembly),不需要注册登录,没有页数限制,文件不上传服务器。转换结果可以复制或下载为 .md 文件。

PDF 转 Markdown 会保留表格和多栏排版吗?

会。pdf-inspector 的版面分析能还原报纸式多栏的阅读顺序;表格同时支持框线检测和文本对齐启发式两种模式,输出标准 Markdown 表格,跨页续表也能拼接。标题按字号比例分级,列表、链接、粗斜体、代码块都会保留。详见PDF 转 Markdown 完整指南。

四种 PDF 类型是什么意思?

TextBased(原生文本型)可以直接提取;Scanned(扫描型)和 ImageBased(图片型)需要 OCR;Mixed(混合型)部分是文本部分是图片。判定结果附置信度分数和逐页明细,会精确告诉你第几页需要 OCR。

我的文件会被上传吗?

不会。pdf-inspector 是纯本地解析:Rust/Python/Node 版在你的设备上运行;浏览器版通过 WebAssembly 在页面内完成解析,文件不会离开你的设备。本站首页的 Demo 就是这样的本地实现。

支持扫描版 PDF 吗?

网页 Demo 不含 OCR,遇到扫描件会明确提示。原生版本内置选择性 OCR(可选启用):只把被质量检查拒绝的页面送去 OCR,其余页面照常走本地快速提取,每页还会标注内容来源(native / ocr / fused)。

解析速度有多快?

类型判定约 10–50ms,文本型 PDF 全流程在 200ms 内完成。官方 opendataloader-bench 基准里,200 份文档总耗时 0.470 秒,比次快的 liteparse 还快三成以上,比 markitdown 快 30 多倍。详见性能基准页。

适合用来给 RAG / 大模型准备语料吗?

适合,这正是它的主场景之一:输出的 GitHub Flavored Markdown 带 heading 层级、表格和分页标记,token 友好;先分类再提取的架构让你只对真正需要 OCR 的页面付 OCR 成本。Node.js / Python 绑定可以直接嵌进 LangChain、LlamaIndex 等数据预处理管线,参见API 快速参考。

跟 markitdown 相比怎么样?

同一基准下:综合得分 0.875 vs 0.589,标题识别 0.788 vs 0.000(markitdown 几乎不识别标题层级),速度更是数量级的差距。详见对比页。

Word、PPT、Excel 怎么转 Markdown?

用 Firecrawl 同期开源的姊妹项目 AnyDoc:14 种办公格式(Word、PPT、Excel、OpenDocument、RTF、EPUB、CSV、PDF)统一转成 Markdown,其中 PDF 路径正是由 pdf-inspector 驱动。官网 anydoc.wiki 可在线转换,仓库在 github.com/firecrawl/anydoc。

开源吗?可以商用吗?

完全开源,MIT License。可以自由使用、修改、商用。仓库在 github.com/firecrawl/pdf-inspector,克隆、构建与贡献指南见 GitHub 仓库页。

可以在哪些语言里用?

Rust(pdf-inspector)、Node.js(@firecrawl/pdf-inspector)、Python(pdf-inspector)、浏览器(@firecrawl/pdf-inspector-wasm),以及随包发布的 CLI:pdf2md 和 detect-pdf。详见安装下载页。

在线体验与安装

把 PDF 拖进来,
类型和 Markdown 同时带走。

你可以在浏览器里先解析一份试试,也可以装进你的项目或服务。
毫秒级分类、多栏还原、表格识别、纯本地处理,

从今天起,别再为不需要 OCR 的 PDF 花 OCR 的钱。