资讯详情

资讯详情

扫描PDF批量变可搜索:OCRmyPDF加文本层

扫描PDF批量变可搜索OCRmyPDF加文本层【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF那份 217 页的扫描版年报CtrlF 输入任何词都搜不到框选文字拖出来的是一行空白——整份文档在系统眼里就是一叠图片。OCRmyPDF 解决的就是这个一个开源命令行工具给扫描 PDF 批量加 OCR 文本层处理完外观照旧但能搜索、能复制了。它到底在做什么本质是一件事逐页读出扫描件里的图片交给 Tesseract 引擎识别文字再把识别结果作为透明文本嵌回原页面底下。页面图片一个像素都不动版式、注释、元数据原样保留。它不做什么不重排文档、不重压缩图片、不上传任何内容全程本地跑。默认输出 PDF/A-2b——为长期存档设计的格式只想要普通 PDF加--output-type pdf就行。最见功力的是这种老式打字机扫描件等宽字体、对比度又低识别难度不小但文本层只要和字形对得齐整段复制出来照样干净。最小可用路径系统安装命令Debian / Ubuntuapt install ocrmypdfmacOS / LinuxHomebrewbrew install ocrmypdf任意 Python 环境pip install ocrmypdf装完第一条命令就这么短ocrmypdf 扫描年报.pdf 可搜索年报.pdf打开输出文件拖拽选中第一段文字——能选中并复制出真实文字说明文本层已经叠上了。原文件不会被改动结果永远写进新文件表里没有的系统Docker、FreeBSD 等仓库 docs 目录里有分步安装文档。核心能力拆解中文识别出来全是方框语言包没装症状识别结果满屏方框或者可搜索三个字只出来两个。原因OCRmyPDF 的识别全靠 Tesseract能认哪些语言取决于装了多少 tessdata 语言包。默认只有英文中文包没装就写不出中文字符。sudo apt install tesseract-ocr-chi-sim ocrmypdf -l chi_sim 合同扫描件.pdf 合同可搜索.pdf英文中文混排写成-l engchi_sim加号分隔。跑完打开输出选中一句中文粘进记事本是正常汉字就对了还是方框用tesseract --list-langs确认 chi_sim 在不在列表里。页面横了倒了歪了整页旋转和倾斜是两回事整页转了 90°/180°是--rotate-pages的活整页只斜了几度是--deskew的活。两者管的事不同别指望一个开关解决所有方向问题组合起来最稳ocrmypdf --rotate-pages --deskew 旧档案.pdf 旧档案_校正.pdf旧扫描件经常整页横着、倒着出来像上面这种密排整页的文档也不例外。跑完翻几页标题回到水平线、正文方向对了就算过还差一点就调--rotate-pages-threshold的判定阈值。一批文件排队跑多核并行几十个文件手动一个个敲太累。其实就两层并行单个文件内部--jobs开多核做 OCR文件之间让 GNU Parallel 排队parallel --tag -j 2 ocrmypdf {} output/{} ::: *.pdf一条命令把当前目录所有 PDF 写进 output 目录--tag让日志行带上文件名哪个文件失败一眼定位。截图里是完整流程扫描内容、逐页 OCR、PDF/A 转换、图像优化进度条逐页刷新最后给出压缩比。更多批处理写法见 docs/batch.md。进阶技巧⚡ 跑通之后才会想做的两件小事--oversample 300扫描分辨率低、字迹发糊时先把页面重采样到 300 DPI 再识别准确率明显上来前提是原件本身别太糊。--pages 1-100几百页的大文件分段跑内存不吃紧还能先查前一百页的效果。ocrmypdf --oversample 300 --pages 1-100 低清大文件.pdf 前百页_可搜索.pdf快速排错现象最可能原因一条可复制的解法中文全是方框没装中文语言包sudo apt install tesseract-ocr-chi-sim重跑时加-l chi_sim页面整体横或倒扫描方向错了 90°/180°ocrmypdf --rotate-pages 输入.pdf 输出.pdf整页轻微倾斜扫描仪摆放歪了ocrmypdf --deskew 输入.pdf 输出.pdf大文件跑到一半内存告急一次处理了全部页ocrmypdf --pages 1-100 输入.pdf 前百页.pdf分段跑错字多且原图发糊源扫描分辨率不足ocrmypdf --oversample 300 输入.pdf 输出.pdf想只要普通 PDF不要存档格式默认输出 PDF/A-2bocrmypdf --output-type pdf 输入.pdf 输出.pdf收尾今天就能做找一份手头的扫描件装上 ocrmypdf跑ocrmypdf 输入.pdf 输出.pdf。打开输出文件选中一段文字复制出来是真实汉字——剩下的参数都是锦上添花。【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →