用途
该技能聚焦从 PDF 和扫描文档中提取文本,并给出文档解析的路由策略。DOCX、PPTX 分别由其他技能处理,PDF 的合并、拆分、表单、水印等操作也归属单独的 pdf 技能。
主要能力与使用方式
远程 URL 优先:文档若可通过 URL 访问,先用 web_extract 做 PDF 到 Markdown 的转换,无需本地依赖。仅在文件在本地、web_extract 失败或需要批处理时才走本地抽取。
本地分类路由:使用 pdf-inspector(Rust,MIT,v0.2.6)在约 10–50 毫秒内判断 PDF 属于 text_based、scanned、image_based 或 mixed,无需 OCR 或机器学习。文本型可直接采用其 Markdown 输出,支持多栏阅读顺序与表格;混合型只把 pages_needing_ocr 标记的页面交给 marker-pdf。相关 API 包括 process_pdf_bytes、extract_pages_markdown、extract_text_in_regions、extract_text_with_positions。
扫描件 OCR:marker-pdf 支持扫描文档、90 多种语言、表格、公式/LaTeX、代码块、表单、页眉页脚去除、阅读顺序检测和图片上下文提取,安装体积约 3–5GB,首次使用会下载约 2.5GB 模型。
轻量抽取:pymupdf(约 25MB)适合文本型 PDF 的快速抽取、拆分、合并、搜索和元数据读取,支持通过 pymupdf4llm 输出 Markdown。
Office 文档:anydoc(Rust,v0.1.7)可本地把 docx/pptx/xlsx/xlsm/odt/rtf/epub/csv 转为 GitHub 风格 Markdown,生成真实表格,并对扫描版 PDF 返回明确的“需要 OCR”错误。
解析器选型:资料建议新解析器不要只凭榜单采用,而应先确认能否在本机运行、核实许可证、优先使用免费 API,并用自有语料与 pdftotext -layout 对比召回率和精确度。
适用场景
批量提取文本型 PDF、处理扫描件和图像型文档、解析学术论文(如 arXiv)、从 Office 文档生成 Markdown、PDF 页面拆分合并与全文搜索。
限制
marker-pdf 需要约 5GB 磁盘空间,CPU 下速度约 1–14 秒/页;pymupdf 不支持扫描件 OCR、公式和复杂版面分析;anydoc 对扫描版 PDF 不会执行 OCR。macOS 上 marker-pdf 可能残留 surya.fast_layout.server 进程(约 1.8GB 内存),需手动结束,下次 OCR 会冷启动。