尧图精选

OCRmyPDF 识别扫描 PDF,批量识别后自动归档到分类文件夹

🕒 发布时间:2026/9/3 14:34:47 📁 来源:尧图网络
OCRmyPDF 识别扫描 PDF批量识别后自动归档到分类文件夹【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDFOCRmyPDF 给扫描版 PDF 补上一层可搜索的文本层输出文件外观不变但内容可以复制、可以检索。把纸质文档扫描成 PDF 后搜不到字、没法按内容分门别类的都可以用它处理。这篇文章面向需要整理大量扫描发票、合同、报告的读者。上图是一张典型的打字机扫描文档OCRmyPDF 的 Tesseract 识别引擎src/ocrmypdf/builtin_plugins/tesseract_ocr.py处理这类字体的效果不错。安装 OCRmyPDF 并识别第一份扫描 PDFDebian 和 Ubuntu 上直接执行apt install ocrmypdfTesseract 引擎会被自动带上其他系统建议uv pip install ocrmypdf或python3 -m pip install ocrmypdf依赖环境细节见 docs/installation.md。装好后一条命令完成识别ocrmypdf 扫描件.pdf 可搜索.pdf打开输出文件版面和原件一样但文字可以选中、复制CtrlF 能直接搜到页面上的内容。这就是文本层不可见的字符贴在原图像上方。批量识别几十个 PDF 的两种方式文件多的时候用 GNU Parallel 一条命令并行处理当前目录下全部 PDFmkdir -p output parallel --tag -j 2 ocrmypdf {} output/{} ::: *.pdf-j 2限制同时跑 2 个进程避免内存吃紧。只想原地处理整棵目录树换成find . -name *.pdf -exec ocrmypdf {} {} \;即可。想要日志记录和原件备份可以看仓库示例脚本 misc/batch.py它递归扫描目录逐个处理遇到加密件、已带文本的件、带数字签名的件会跳过并写日志而不是直接报错中断。用 20 行 Python 按内容把 PDF 分进不同文件夹归档的关键是拿到识别后的文字。写个分类函数再遍历文件夹移动文件import re from pathlib import Path from pypdf import PdfReader def classify(text: str) - str: rules [(r发票|INVOICE|Receipt, invoices), (r合同|CONTRACT|Agreement, contracts), (r报告|REPORT|Analysis, reports)] for pattern, folder in rules: if re.search(pattern, text, re.IGNORECASE): return folder return other for pdf in Path(待整理/).glob(*.pdf): text \n.join(p.extract_text() or for p in PdfReader(pdf).pages) target Path(归档) / classify(text) target.mkdir(parentsTrue, exist_okTrue) pdf.rename(target / pdf.name)规则就是几组正则按自己的业务加发票、报销单、对账单等分类即可。个别识别质量差的件可以用 src/ocrmypdf/api.py 里的_pdf_to_hocr导出文本层先手工改改完再转回 PDF。让新文件落盘即识别watcher 目录监控不想手动执行命令的话仓库自带 misc/watcher.py。它盯住一个输入目录新 PDF 出现后等文件写完整就自动 OCR结果按年/月子目录存放成功后的动作可选删除原件或归档原件全部用环境变量配置。配合前面那步内容分类新扫描件进来几分钟内就会出现在对应分类文件夹里。识别效果不理想的排查点扫描件歪斜导致识别率低加--deskew选项识别前自动纠偏。文档已经是 OCR 过的重复运行会被拒绝加--force-ocr强制重新识别。中英混排--language要同时写上对应语言代码缺一种就会丢一种文字。想压缩输出体积加--optimize 2仓库内置的 Ghostscript 插件src/ocrmypdf/builtin_plugins/ghostscript.py会做有损压缩。收尾前过一遍这张清单批量处理前先备份原件识别错误率高的品类回头改分类关键词而不是硬凑阈值ocrmypdf 和 Tesseract 保持更新分类好的文件夹纳入定期备份。【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →