|
|
1 hete | |
|---|---|---|
| .. | ||
| README.md | 1 hete | |
| __init__.py | 1 hete | |
| main.py | 1 hete | |
基于 PaddleOCR-VL 的批量文档处理工具,支持 PDF 和图片文件的批量处理。
1-5,7,9-12)conda activate py312
# 安装 PaddleX
pip install paddlex
# 安装其他依赖
pip install loguru tqdm pillow
# 处理单个PDF文件
python main.py --input document.pdf --output_dir ./output
# 处理图片目录
python main.py --input ./images/ --output_dir ./output
# 处理文件列表
python main.py --input file_list.txt --output_dir ./output
# 处理CSV文件(失败的文件)
python main.py --input results.csv --output_dir ./output
# 指定页面范围(PDF或图片目录)
python main.py --input document.pdf --output_dir ./output --pages "1-5,7"
# 只处理前10页(PDF或图片目录)
python main.py --input document.pdf --output_dir ./output --pages "-10"
# 从第5页到最后(PDF或图片目录)
python main.py --input document.pdf --output_dir ./output --pages "5-"
# 仅验证配置(dry run)
python main.py --input document.pdf --output_dir ./output --dry_run
# 使用 DEBUG 日志级别获取详细错误信息
python main.py --input document.pdf --output_dir ./output --log_level DEBUG
# 指定 Pipeline 配置文件
python main.py --input document.pdf --output_dir ./output --pipeline ../paddle_common/config/PaddleOCR-VL-Client-RT-DETR-H_layout_17cls.yaml
# 指定设备
python main.py --input document.pdf --output_dir ./output --device cpu
# 禁用数字标准化
python main.py --input document.pdf --output_dir ./output --no-normalize
# 禁用增强适配器
python main.py --input document.pdf --output_dir ./output --no-adapter
--input, -i: 输入路径(必需)
--output_dir, -o: 输出目录(必需)
--pipeline: Pipeline 名称或配置文件路径(默认: PaddleOCR-VL)
PaddleOCR-VL)../paddle_common/config/PaddleOCR-VL-Client-RT-DETR-H_layout_17cls.yaml)--device: 设备字符串(默认: gpu:0)
gpu:0, gpu:1, cpu 等--pdf_dpi: PDF 转图片的 DPI(默认: 200)
--batch_size: 批次大小(默认: 1,PaddleX 通常单张处理)--pages, -p: 页面范围(PDF和图片目录有效)
"1-5,7,9-12"(第1-5页、第7页、第9-12页)"1-":从第1页到最后"-10":前10页--collect_results: 收集处理结果到指定CSV文件--no-normalize: 禁用数字标准化(默认启用)--no-adapter: 禁用增强适配器(默认启用)--dry_run: 仅验证配置,不执行处理--log_level: 日志级别(DEBUG, INFO, WARNING, ERROR,默认: INFO)--log_file: 日志文件路径输出目录结构:
output_dir/
├── filename.md # Markdown 内容
├── filename.json # Content list JSON
├── filename_*.jpg # 输出图像(如 layout、table 等)
├── filename_original.md # 原始 Markdown(如果启用标准化且发生变化)
└── filename_original.json # 原始 JSON(如果启用标准化且发生变化)
处理成功的判断标准:
.md 文件.json 文件如果两个文件都存在,则认为处理成功。
处理完成后会显示:
结果会保存到 {output_dir}_results.json 文件中。
python main.py \
--input /path/to/document.pdf \
--output_dir ./output \
--pages "1-10" \
--pipeline ../paddle_common/config/PaddleOCR-VL-Client-RT-DETR-H_layout_17cls.yaml \
--device cpu \
--log_level DEBUG
python main.py \
--input /path/to/images/ \
--output_dir ./output \
--log_file ./processing.log
python main.py \
--input /path/to/document.pdf \
--output_dir ./output \
--dry_run
python main.py \
--input processed_files.csv \
--output_dir ./output \
--pipeline PaddleOCR-VL
--device 参数(GPU 或 CPU)filename_page_001.png 格式--log_level DEBUG 获取详细错误信息和 traceback--no-adapter 禁用适配器ocr_utils: OCR 工具包,提供 PDF 处理、文件处理等功能paddle_common: PaddleX 共享核心模块(处理器、工具函数、适配器)PaddleOCR-VL pipelineuseLayoutDetection),PP-StructureV3 使用下划线命名(如 use_layout_detection)