news 2026/9/12 8:05:19

OCRmyPDF 免费OCR指南:如何把扫描PDF变成可搜索文档

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OCRmyPDF 免费OCR指南:如何把扫描PDF变成可搜索文档

OCRmyPDF 免费OCR指南:如何把扫描PDF变成可搜索文档

【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF

OCRmyPDF 是一款免费开源的命令行 OCR 工具,给扫描版 PDF 叠加一层隐藏的 OCR 文本层,原文图像原样保留,处理全程离线,适合需要本地批量处理 PDF 的新手和文档管理员。

为什么需要它

在线 OCR 服务要上传文件,隐私和数据都过一道云;手机拍照识字一张一张拍,效率低;自己写脚本调 Tesseract,配置繁琐还容易错位。OCRmyPDF 一行命令搞定,且免费。

一行命令装好

三个平台各一行安装命令:

apt install ocrmypdf # Debian / Ubuntu brew install ocrmypdf # macOS pkg install py-ocrmypdf # FreeBSD

Windows 或其他发行版可走 WSL 或 pip 安装,具体步骤见 安装文档。

装完跑第一条命令验证:

ocrmypdf 扫描.pdf 输出.pdf

用 PDF 阅读器打开输出文件,Ctrl+F搜一个词能命中、选中文字能复制,说明文本层加上了。输出默认是 PDF/A 归档格式,适合长期保存。

照着场景用

场景一:批量识别论文文献

扫描论文页数多、常有中英混排,--language指定识别语言,识别准不准就看这一项;--jobs指定并行核心数,多页文件跑得快:

ocrmypdf --language chi_sim+eng --jobs 4 论文.pdf 输出.pdf

跑完每页下方都有可检索文本,--jobs 4在 4 核机器上把活分给四个核心并行执行,晚上挂机正好。

场景二:处理歪斜脏污的票据

账单、发票扫描件普遍又歪又有阴影噪点,--deskew自动摆正倾斜页面,--clean-final用 unpaper 在 OCR 前做去噪预处理,比直接识别准确率高:

ocrmypdf --deskew --clean-final 发票.pdf 输出.pdf

处理顺序是先摆正、再清理、最后识别,终端会显示每一步的进度和节省的文件体积。

和在线服务差在哪

对比项在线 OCR 服务手机拍照识字OCRmyPDF
数据位置上传到对方服务器上传云端识别全程本地,文件不出机器
画质常被重压缩受拍照质量限制保留原始嵌入分辨率
费用按量收费多有次数限制免费开源
批量一次一个一张一张拍多页多文件排队处理

卡住了先查这里

现象原因一条命令解决
提示缺少语言包对应的 Tesseract 语言包没装apt-get install tesseract-ocr-chi-sim
大文件内存不足整份文件一次载入ocrmypdf --pages 1-50 大文件.pdf 部分1.pdf
处理速度偏慢并行数没开ocrmypdf --jobs 4 文档.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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 8:05:06

Obsidian图床方案选型与优化实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 8:04:30

Simulink在VCU开发中的模型架构与代码生成实践

1. 整车控制器(VCU)应用层模型开发实战最近在新能源汽车VCU开发中,我验证了一套Simulink应用层架构方案,既能直接生成产品代码部署实车,又能保持高效的仿真验证能力。这种"一次建模,双重应用"的实…

作者头像 李华
网站建设 2026/9/12 8:02:43

Windows免驱使用slcan,使用方法以使用cangaroo为例

SLCAN (Serial Line CAN Interface)是一种将串口转换为CAN接口的协议,允许通过串口设备发送和接收CAN报文 。 ‌我们需要使用cangaroo上位机进行CAN报文收发,需要注意:因上位机走的串口模式收发CAN数据,一旦…

作者头像 李华
网站建设 2026/9/12 8:02:36

DINOv2 实战教程:从零到跑通自监督特征提取的完整指南

DINOv2 实战教程:从零到跑通自监督特征提取的完整指南 【免费下载链接】dinov2 PyTorch code and models for the DINOv2 self-supervised learning method. 项目地址: https://gitcode.com/GitHub_Trending/di/dinov2 DINOv2 是 Meta 开源的自监督视觉模型&…

作者头像 李华
网站建设 2026/9/12 7:58:57

Vue 3 响应式能力分发:Composable、Provide/Inject 与 globalProperties 选型指南

1. 这不是“全局挂载”,而是 Vue 3 的响应式状态与能力分发体系重构Vue 3 不再是 Vue 2 那套简单的Vue.prototype.$xxx xxx粗暴挂载逻辑。如果你还在用“挂载全局 API”这种说法去理解 Vue 3,那本质上你还没跳出 Vue 2 的思维惯性——这会导致你在实际项…

作者头像 李华