用途:把 PDF 转成干净、保留位置的 Markdown,让无法原生读 PDF 的模型正确读取版式,适用于含表格、多栏排版或需要按页引用的文档。不适用于纯图片扫描件期待内嵌文本的情况。
主要能力:基于 pdf-inspector(Firecrawl 的 Rust 引擎)处理分栏、表格、标题、列表与代码块,并判断哪些页需要 OCR;输出 <!-- Page N --> 页码标记、真实 Markdown 表格与基于字号生成的 #/##/### 标题;支持 --classify 快速分类(type=text_based|scanned|image_based|mixed、confidence、pages_needing_ocr)、默认写出 .md 与 .md.meta.json、--stdout 管道输出、--pages 指定页、--chunks 8000 分块、--json 与退出码(0 成功、1 错误、2 用法、3 --fail-on-ocr)。
使用方式:需 Python 3(≥3.8)并 pip install pdf-inspector(提供各平台预构建 wheel,无需 Rust 工具链)。核心 CLI 为 scripts/pdf_read.py,位于本 SKILL.md 同级的 scripts/ 文件夹,参考文档在 references/。先分类:python3 "$PDF_READ" <document.pdf> --classify;再转换:python3 "$PDF_READ" <document.pdf>;OCR 回退:python3 "$PDF_READ" <document.pdf> --ocr-cmd 'tesseract {input} stdout -l eng'。
限制与注意:pdf-inspector 不是 OCR 引擎,图片型 PDF 会被标记为 scanned/image_based 并逐页提示需 OCR,不要猜测其内容;<!-- OCR REQUIRED: page N --> 表示该页无内嵌文本。使用前建议抽查 2–3 个标题和 1 个表格;confidence 低于 0.7 的混合文档应把标记页视为不可读;超大 PDF 优先用 --pages 或 --chunks。加密 PDF 需先解锁,数学公式以字形形式提取,保留但不擅自修正。缺失信息:具体收费与价格暂未提供。