OCRmyPDF 如何给 PDF 扫描件做 OCR:10 分钟快速上手指南
OCRmyPDF 如何给 PDF 扫描件做 OCR10 分钟快速上手指南【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDFOCRmyPDF 是一款开源的命令行工具专门给扫描版 PDF 添加 OCR 文本层。一条命令就能把一份 200 页的扫描合同变成可以用 CtrlF 搜索、可以复制粘贴的文档适合需要处理扫描件、照片文档和纸质档案的普通用户不需要任何编程基础。扫描件为什么需要 OCR想象这样一个场景你把一份合同用手机拍下来转成 PDF 存进网盘。几个月后想查一个条款发现 CtrlF 搜不到任何内容——因为扫描文件里只有图片没有文字。这就是 OCR光学字符识别要解决的问题在原始图片下面叠加一层与图像位置精确对应的隐形文字。这层文字肉眼看不见但可以被搜索、复制排版也完全不会乱。下面这张图是仓库测试用的一份打字机扫描件正是这类图片型文档的典型形态从安装到第一次 OCR 只要两步1. 安装根据你的系统选择对应的一条命令即可# macOSHomebrew brew install ocrmypdf # Debian / Ubuntu apt install ocrmypdf # Fedora dnf install ocrmypdf tesseract-osdWindows 用户可以直接在 WSL 里按 Debian/Ubuntu 的方式安装或者参考 安装文档 用 Python 方式安装。2. 运行第一条 OCR 命令下面这条命令对input.pdf执行 OCR生成带文本层的output.pdfocrmypdf input.pdf output.pdf运行过程中会看到扫描、OCR、PDF/A 转换几个阶段的进度条最后提示输出文件类型即可。整个过程在终端里的样子大致如下完成后打开output.pdf原来的扫描图像原样保留只是从此可以搜索和复制文字了。核心能力逐个看校正歪斜的页面扫描或拍照时页面倾斜会直接拉低文字识别率。--deskew会检测每页的倾斜角并把文字旋正--rotate-pages则负责把整页转错方向比如横向拍成纵向的页面摆正ocrmypdf --deskew --rotate-pages scanned.pdf straight.pdf # --deskew自动检测并纠正页面倾斜 # --rotate-pages自动摆正整页 90/180/270 度错位的页面两个参数可以单独使用也可以像上面这样组合手机随手拍的文档通常两个都建议加上。识别中文等多语言文档OCRmyPDF 底层的 Tesseract 引擎支持上百种语言用-l指定语言代码即可混合语言文档用连接ocrmypdf -l chi-simeng 合同.pdf 合同_ocr.pdf # -l指定识别语言chi-sim 为简体中文指定语言前需要先装对应的语言包各系统的包名和安装方式在 语言支持说明 里有详细列表。清理扫描噪点旧纸张的底色、复印件的斑点会让识别结果夹杂乱码。--clean在识别前做预处理--clean-final在生成成品前再做一次--remove-background则专门去掉背景杂色ocrmypdf --clean --clean-final --remove-background 旧文档.pdf 干净.pdf # --cleanOCR 前降噪--clean-final输出前再清理一次 # --remove-background去除深色/泛黄背景处理后的文档背景更接近纯白文字边缘也更干净识别准确率随之提高。进阶用法与批量处理图片直接转可搜索 PDF没有 PDF 也没关系jpg、png 可以直接作为输入。--image-dpi用来告诉工具原始照片的拍摄分辨率避免文字层对不准ocrmypdf --image-dpi 300 手机拍照.jpg 成品.pdf # --image-dpi原始照片的实际 DPI保证文字层对齐顺便导出一份纯文本--sidecar会在生成 PDF 的同时输出一份纯文本文件方便直接编辑或做数据分析。文件名省略时默认是{输出文件}.txtocrmypdf --sidecar 会议记录.pdf 会议记录.txt.pdf # 更直观显式指定文本文件路径 ocrmypdf --sidecar 会议记录.txt 会议记录.pdf 会议记录.pdf批量处理整个文件夹要处理一目录的扫描件最简单的做法是配合 GNU Parallel详见 批量处理文档parallel --tag -j 2 ocrmypdf {} output/{} ::: *.pdf # -j 2同时跑 2 个任务防止机器过载它会把当前目录所有 PDF 逐一 OCR 后写入output/文件名保持不变。常见报错怎么解提示 Tesseract 或 Ghostscript 未找到这类依赖必须用系统包管理器安装pip装不了。Debian/Ubuntu 用apt install tesseract-ocr ghostscript并确认ocrmypdf --version能正常输出。中文识别全是乱码默认只装了英文语言包。先安装中文包Debian/Ubuntu 为apt install tesseract-ocr-chi-sim再用-l chi-sim指定语言两步缺一不可。输出文件比原来的更大文本层会占用额外空间这是正常现象。可以加--optimize 2让输出前做一轮有损压缩在清晰度和体积之间取得平衡。适合谁下一步做什么如果你经常要处理扫描件、手机拍文档或需要长期归档的纸质资料OCRmyPDF 基本就是当前最顺手的免费方案一次处理几千页也不在话下输出默认是适合长期保存的 PDF/A 格式。它的工作方式也不复杂先把每一页渲染成图片交给 Tesseract 识别出每个字的位置再把这层文字精确地铺在原始图片下面。完整参数说明可以运行ocrmypdf --help查看更多场景的用法见仓库文档 docs/。找一份你手边的扫描件按上面第二条命令跑一遍十分钟之内就能看到效果。【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →