P

PDF 与扫描件 OCR 转 Markdown

作者:鹿Sir办公效率v1

从 PDF、图片、扫描件中提取文字并输出结构化 Markdown。文本层 PDF 用 LiteParse 秒级解析,扫描件走 PP-OCRv6 三档模型(Tiny/Small/Medium),支持中文扫描件、手机拍照弯曲页面与歪斜文档的预处理(倾斜校正/方向检测/页面展平)与结构化版面解析。当用户需要提取 PDF 文字、OCR 识别扫描件、图片转文字、文档结构化解析时触发。触发词:PDF转文字、OCR、扫描件识别、图片提取文字、文档解析、合同识别、发票识别。

下载量
443
点赞
104
价格
免费

技能文档

---
name: pdf-ocr-md
title: PDF 与扫描件 OCR 转 Markdown
description: 从 PDF、图片、扫描件中提取文字并输出结构化 Markdown。文本层 PDF 用 LiteParse 秒级解析,扫描件走 PP-OCRv6 三档模型(Tiny/Small/Medium),支持中文扫描件、手机拍照弯曲页面与歪斜文档的预处理(倾斜校正/方向检测/页面展平)与结构化版面解析。当用户需要提取 PDF 文字、OCR 识别扫描件、图片转文字、文档结构化解析时触发。触发词:PDF转文字、OCR、扫描件识别、图片提取文字、文档解析、合同识别、发票识别。
category: 办公效率
---


# PDF → OCR → 结构化 Markdown

## 环境

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

## 快速选择(必读)

```bash
# ① 先试 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
```

## 技能工作流

### 步骤1:判断文档类型

优先尝试 `lit parse input.pdf --no-ocr`;有文本层则秒级完成,空结果即为扫描件。

### 步骤2:预处理(仅低质量文档)

手机拍照、弯曲、歪斜的文档先执行 `python scripts/pdf_preprocess.py input.pdf -o ./preprocessed --all`(deskew 倾斜 / orient 方向 / unwarp 展平)。

### 步骤3:选择 OCR 档位并识别

按精度需求选择 `python scripts/pdf_ocr_v6.py input.pdf --tier tiny|small|medium -o ./output`。

### 步骤4:结构化解析(按需)

需要表格、版面结构时执行 `python scripts/pdf_parse_structured.py`,参考 `references/structured-parsing.md`。

### 步骤5:校对交付

抽查识别结果(公章/签名场景改用 PaddleOCR 参考文档),输出 Markdown 与原始文件。

## 性能速查

| 类型 | 引擎 | 单页 | 17 页合同 |
|------|------|------|----------|
| 文本层 PDF | LiteParse | ~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 与扫描件 OCR 转 Markdown

从 PDF、图片、扫描件提取文字并输出结构化 Markdown,中文扫描件识别准确率 97%+。

## 功能

- 文本层 PDF 用 LiteParse 秒级解析(约 0.9ms/页)
- 扫描件走 PP-OCRv6 三档模型:Tiny 极速 / Small 均衡 / Medium 高精度
- 预处理:倾斜校正(deskew)、方向检测(orient)、页面展平(unwarp)
- 结构化解析:版面分析 + 表格提取 + JSON 输出
- 公章/签名场景支持 PaddleOCR 旧版引擎

## 最简用法

```bash
# ① 文本层 PDF
lit parse input.pdf --no-ocr -o output.txt

# ② 扫描件 OCR
python scripts/pdf_ocr_v6.py input.pdf --tier small -o ./output

# ③ 低质量拍照件先预处理
python scripts/pdf_preprocess.py input.pdf -o ./preprocessed --all
python scripts/pdf_ocr_v6.py ./preprocessed/input_p001.jpg --tier medium -o ./output
```

首次运行自动从国内镜像下载模型(约 17MB)。详细教程见 references/ 目录。

## 适用场景

合同、发票、报告等文档的文字提取,尤其是中文扫描件与手机拍照件。

如何安装此技能?

访问技能市场,点击「安装」按钮,按提示将技能包放入 AI 编程助手的 skills 目录即可。

浏览技能市场

支持平台:Qoder · QoderWork · Claude · Codex 等 AI 编程助手