RapidOCRPDF
RapidOCRPDF copied to clipboard
Based on RapidOCR, extract the PDF content.
简介
本仓库依托于RapidOCR仓库,快速提取PDF中文字,包括扫描版PDF、加密版PDF、可直接复制文字版PDF。
如果是扫描版PDF,暂时不支持版式还原,后续有空会考虑加上,日期不定。
整体流程
flowchart LR
A(PDF) --> B{是否可以直接提取内容} --是--> C(PyMuPDF)
B --否--> D(RapidOCR)
C & D --> E(结果)
TODO
- [ ] 支持图像的提取
- [ ] 整合版面分析模型,段落化输出PDF内容
- [ ] 完善仓库文档
安装
# 基于rapidocr_onnxruntime
pip install rapidocr_pdf[onnxruntime]
# 基于rapidocr_openvino
pip install rapidocr_pdf[openvino]
使用
脚本使用
from rapidocr_pdf import PDFExtracter
rec_model_path = 'xxxx.onnx
pdf_extracter = PDFExtracter(rec_model_path=rec_model_path)
pdf_path = 'tests/test_files/direct_and_image.pdf'
texts = pdf_extracter(pdf_path, force_ocr=False)
print(texts)
命令行使用
$ rapidocr_pdf -h
usage: rapidocr_pdf [-h] [-path FILE_PATH] [-f]
optional arguments:
-h, --help show this help message and exit
-path FILE_PATH, --file_path FILE_PATH
File path, PDF or images
-f, --force_ocr Whether to use ocr for all pages.
$ rapidocr_pdf -path tests/test_files/direct_and_image.pdf
输入输出说明
输入:Union[str, Path, bytes]
输出:List
[页码, 文本内容, 置信度], 具体参见下例:
[
['0', '人之初,性本善。性相近,习相远。', '0.8969868'],
['1', 'Men at their birth, are naturally good.', '0.8969868'],
]
更新日志
2024-01-16 v0.0.9 update:
- 当PDF可以直接提取时,添加排序功能
2023-12-04 v0.0.8 update:
- 兼容RapidOCR参数传入,具体可传入参数参见:OCR传入参数说明
2023-11-18 v0.0.7 update:
- 修复issue #3, 添加
force_ocr
参数控制是否强制所有页面全部OCR
2023-08-28 v0.0.6 update:
- 解决PyMuPDF版本依赖问题,对应issue #2
2023-04-17 v0.0.2 update:
- 完善使用文档