OCRmyPDF 实战:3 步给扫描 PDF 做可搜索化,实现发票合同自动分类归档 OCRmyPDF 实战3 步给扫描 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是它最核心的能力。照这篇做你能搭出一套 OCR 文档分类流水线把发票合同 PDF 自动归档进不同文件夹。一堆图像 PDF连关键词都搜不到纸质文件数字化之后麻烦才刚开始翻出来的都是扫描图像CtrlF搜不到任何东西文件名常常是扫描件001.pdf内容是什么只有打开才知道想按发票 / 合同 / 报告分文件夹只能靠肉眼一页页看思路其实很直接先用 OCR 给 PDF 补上文字层让内容变得可搜索、可复制再把提取出来的文本丢给一套分类规则文件就自己各归各位了。一条命令装好环境并验证先把环境跑起来全程两条命令git clone https://gitcode.com/GitHub_Trending/oc/OCRmyPDF cd OCRmyPDF pip install .装完在终端敲ocrmypdf --version。能打印版本号说明 Python 依赖、Ghostscript、Tesseract 引擎都已就位可以开工。打通主链路OCR 转换、提取文本、分类决策这步最关键转换、提取、分类一次跑通。第一步把图像 PDF 变成可搜索 PDFocrmypdf in.pdf out.pdf运行中它会扫描每一页、调用 Tesseract 识别最后输出一份文字层和原图对齐的新 PDF版式完全保留。第二步加第三步用一段最小 Python 把文本抠出来并做分类决策。规则用关键词 正则就够用优先级从上到下def classify(text): if re.search(r发票|INVOICE|Receipt, text, re.I): return invoices if re.search(r合同|CONTRACT|Agreement, text, re.I): return contracts return other文本提取库任选其一pdfplumber、pypdf都行先open()打开转换后的 PDF遍历页面把文本拼起来再交给classify。命中哪条规则文件就落到哪个目录归档逻辑就是这么简单。走向自动化批量处理、目录监控与归档目录设计单文件跑通后剩下的事是让机器盯着。批量处理仓库自带批量脚本递归遍历目录里所有 PDF 并逐个做 OCR还带了原文件备份逻辑扫描 PDF 批量处理直接拿它改目录监控watcher 脚本基于 watchdog 监听目录新 PDF 一落盘就触发 OCR适合扫描仪吐完即走的场景归档目录建议四段式结构docs/ ├─ incoming/ # 待处理 ├─ sorted/ # 分类结果invoices/ contracts/ reports/ other/ ├─ original/ # 原件备份 └─ ocr.log # 处理记录三条设计原则原件先备份再移动别在原目录直接改写OCR 完成的文件移进sorted/监控就不会重复处理它顺手记一行日志文件名、分类结果、时间出错时好排查。避坑与调优清单先抽查再批量转换完随手打开一个 PDF选中文字、复制一下。复制出来的是乱码说明扫描件本身质量不行或者语言包不对多语言要装语言包-l参数要匹配文档语言中文文档没装chi_sim包识别结果会惨不忍睹规则要可维护关键词从少到多别一上来写五十个词。定期翻other/文件夹新类别从里面长出来这才是规则的养法备份不可省自动归档会移动甚至覆盖文件original/目录就是你的后悔药收尾到这里OCR 转换、文本提取、分类决策、批量与目录监控四块就都接上了一条命令完成 OCR 转换一个classify函数决定文件去向一个监控脚本让整条流水线自己转起来。后续如果other/里的文件越来越多可以再往语义分类的方向演进但那属于扩展话题了——先用关键词把八九成的文档分对就已经够用。【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考