跳到主要内容

PDF识别提取专家

收藏0

PDF/图片/扫描件 OCR 提取文字转 Markdown。支持 PP-OCRv6 三档模型,适合合同、发票、中文扫描件等。灵栈搬运自 SkillHub pdf-ocr-md v3.4.0。

让 AI 安装

Minsaroun最新版本 0.1.0更新于 2026-11-04下载 0 次

SKILL.md

pdf-ocr-md — PDF → OCR → 结构化 Markdown [v3.4.0]#

v3.4.0:SKILL.md 精简至 ~120 行(原 578 行),详细教程移至 references/,按需加载。对标 OpenAI 上下文压缩策略。

环境#

工具用途虚拟环境
lit文本层 PDF 快速解析(Rust,~0.9ms/页)~/.venvs/liteparse/
ocr6PP-OCRv6 三档 OCR~/.venvs/ppocrv6/
pdf2mdPaddleOCR 中文扫描件(旧版 v4)~/.venvs/paddleocr/
prep文档预处理(倾斜/方向/展平)(同 ocr6)

快速选择(必读)#

# ① 先试 LiteParse(文本层 PDF 秒出)

lit parse input.pdf --no-ocr -o output.txt



# ② 空结果 = 扫描件,按需选模型档位

#    tiny(1.5MB 极速) | small(7.7MB 均衡) | medium(34.5MB 高精度)

python scripts/pdf_ocr_v6.py input.pdf --tier small -o ./output



# ③ 低质量文档先预处理(deskew倾斜/orient方向/unwarp展平/--all全部)

python scripts/pdf_preprocess.py input.pdf -o ./preprocessed --all

python scripts/pdf_ocr_v6.py ./preprocessed/input_p001.jpg --tier medium -o ./output

工作流#

输入文档
  ├── 有文本层 → lit parse --no-ocr(0.9ms/页)
  └── 扫描件 → 先预处理(倾斜/方向/展平) → ocr6(tiny|small|medium)

性能速查#

类型引擎单页17 页合同
文本层 PDFLiteParse~0.9ms~15ms
扫描件(极速)PP-OCRv6 Tiny~3-8s~1-2min
扫描件(均衡)PP-OCRv6 Small~8-15s~2-4min
扫描件(高精度)PP-OCRv6 Medium~15-30s~4-8min
中文旧版PaddleOCR v4~15s~4.5min

准确率:PP-OCRv6 ~97%+,预处理后 ~98%+。公章/签名场景必须用 PaddleOCR(Tesseract 会乱码)。

按需加载的参考文档#

所有详细教程已移至 references/,需要时读取:

场景参考文件
LiteParse 完整用法(Rust CLI/截图/批量)references/liteparse-usage.md
PaddleOCR 旧版(v4,Python 3.13 兼容修复)references/paddleocr.md + references/paddleocr-py313-compat.md
文档预处理详解(倾斜/方向/展平/效果预测)references/pdf-preprocessing.md
结构化解析(版面分析+表格提取+JSON)references/structured-parsing.md
PP-OCRv6 完整指南(模型选择/GPU加速/迁移)references/ppocrv6-guide.md
完整原版 SKILL.md(v3.3.0 全部内容)references/full-guide.md
OpenDataLoader(纯 Java,已不推荐)references/opendataloader.md

注意事项#

  • 首次运行自动下载模型(~17MB,从 hf-mirror/modelscope 国内镜像)
  • 机器 3.6GB 内存,PaddleOCR 冷启动 ~300MB 峰值可承受
  • 预处理对平整扫描件效果不明显,对手机拍照/弯曲文档提升 1~5%

用途与依赖

作者没写,这些是平台读文件后整理的,以文件为准。

使用示例

请求:帮我把这份扫描的合同 PDF 转成文字,有几页是手机拍的,有点歪。

预期

先尝试用 lit parse --no-ocr 读取文本层,若为空则判定为扫描件;随后运行 pdf_preprocess.py --all 做方向校正、透视展平和倾斜校正,再用 pdf_ocr_v6.py --tier small(或 medium)逐页 OCR,最后输出每页分段的纯文本和含置信度、文本框坐标的 JSON,并报告识别到的文本块数量和平均置信度。

适用场景
  • 从电子合同、报表等有文本层的 PDF 中快速提取文字
  • 识别中文扫描件(合同、发票、报告)中的文字
  • 处理手机拍照、页面弯曲或歪斜的文档,先校正再 OCR
  • 把扫描件 PDF 转成 Markdown 或带文本框坐标的 JSON
  • 提取文档中的表格并转成 Markdown 表格
  • 识别倒置或侧向的页面并自动转正
  • 按速度或精度需求选择 OCR 模型档位(极速/均衡/高精度)
  • 对文档做版面分析,保留标题、段落、列表等结构
输入
  • 要处理的 PDF 或图片文件路径
  • 是否需要预处理(倾斜/方向/展平)及文档状况
  • OCR 模型档位选择(tiny/small/medium)
  • 是否需要结构化输出(Markdown/JSON)及是否提取表格
  • 页码范围(可选,如 1-5,10)
  • 最低置信度阈值(可选)
  • PDF 转图片的 DPI(可选,默认 300)
输出
  • 纯文本文件(按页分段)
  • 含置信度和文本框坐标的 JSON 结果
  • 结构化 Markdown(标题层级、列表、表格)
  • 含版面坐标和表格网格的 JSON
  • 预处理后的图片文件
  • 识别统计(文本块数量、平均置信度、耗时)
运行环境
Python 3;另需 Bash 运行 .sh 包装脚本;LiteParse 为 Rust CLI
依赖
  • onnxruntime(GPU 加速需 onnxruntime-directml,Apple Silicon 可用 onnxruntime-silicon)
  • opencv-python-headless
  • numpy
  • Pillow
  • pdf2image(PDF 转图片,另需系统安装 poppler)
  • liteparse(提供 lit 命令)
  • paddlepaddle 与 paddleocr(旧版中文 OCR 管线)
  • docling(结构化版面分析与表格提取)
  • opendataloader-pdf(可选,需 Java 11+)
  • tesseract-ocr-chi-sim(LiteParse 中文 OCR 语言包,可选)