Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PaddleOCR 批量转换

通过百度 AI Studio 的 PaddleOCR-VL API,把一个目录里的 PDF 和图片批量转成 Markdown(含图片)。

支持的格式:.pdf.png.jpg.jpeg.bmp.tif.tiff.webp(图片会被当作单页文档处理)。PDF 和图片可以混放在同一目录里一起处理。

一次性准备

# 1. 创建虚拟环境并安装依赖
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

# 2. 配置 token:复制模板后填入你的 AI Studio access token
cp .env.example .env
# 然后编辑 .env,把 PADDLEOCR_TOKEN 改成你的真实 token

运行命令(复制粘贴即用,按需修改)

# 基本用法:转换某个目录下的所有 PDF / 图片,结果输出到 ./output
.venv/bin/python ocr.py --input "/path/to/files" --output ./output --workers 3
# 实际例子:转换爱德基金会那批 PDF
.venv/bin/python ocr.py --input "/Users/liangnuanhui/Downloads/reference/爱德" --output ./output --workers 3
# 重新转换(忽略已完成标记,强制全部重跑)
.venv/bin/python ocr.py --input "/path/to/files" --output ./output --workers 3 --force
# 单线程运行(最稳,速度慢;调试时用)
.venv/bin/python ocr.py --input "/path/to/files" --output ./output --workers 1

参数说明

参数 说明 默认值
--input 存放 PDF / 图片的目录(会递归查找子目录中支持的文件) 必填
--output 输出目录 output
--workers 并行处理的文件数 1
--force 重新处理已标记完成的文件 关闭

输出结构

每个输入文件在输出目录下生成一个同名子目录:

output/
└── 文件名/
    ├── 文件名.md      # Markdown 正文,页面间用 <!-- page N --> 分隔
    ├── imgs/...       # 从文档中提取的图片
    └── .done          # 完成标记,重跑时自动跳过(除非加 --force)

⚠️ 输出子目录按文件名(去掉后缀)命名,所以同一目录下若有 report.pdfreport.png,会写入同一个子目录并互相覆盖。混放时注意文件名不要去后缀后重名。

断点续传

  • 已完成的文件(存在 .done)在重跑时会自动跳过。
  • 上传后被中断的任务会保存 job_id,下次运行直接从该任务恢复,无需重新上传 PDF。
  • Ctrl+C 可安全中断:排队中的任务被取消,正在轮询的任务会保存进度以便恢复。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages