
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扫描版 PDF 本质上是一叠图片文字选不中、也搜不到。OCRmyPDF 是一款多语言 OCR 工具它给扫描 PDF 添加一层可搜索的文字覆盖中文、日文、韩文等 100 多种语言。本文带你从零开始5 分钟内产出一份能搜索的中文文档。快速上手一条命令给中文 PDF 加文字层最小可用命令只有一行# 中文简体识别输出到新文件 ocrmypdf -l chi_sim scan.pdf output.pdf跑完后output.pdf里可以直接搜索和复制中文。-l指定识别语言chi_sim是中文简体的语言代码不写则默认英语。原理很简单OCRmyPDF 调用 Tesseract 识别页面图像再把文字叠加到原图上文字层透明版面视觉效果不变。版本要求Tesseract ≥ 4.1.1且 5.4.0 不受支持该版本存在回归问题先执行tesseract --version确认。 语言包安装按平台装好再验证语言包是 Tesseract 的训练数据文件.traineddata装好之后对应的-l代码才能生效。各平台安装路径不同验证方式统一tesseract --list-langs。Debian / Ubuntuapt-cache search tesseract-ocr # 列出可用语言包 sudo apt-get install tesseract-ocr-chi-sim tesseract-ocr-jpn tesseract --list-langs # 验证Fedora / RHEL包管理器是 DNFdnf install tesseract-langpack-chi_sim tesseract-langpack-jpn。Arch用pacman -S tesseract-data-语言代码形式如pacman -S tesseract-data-jpn。macOSbrew install tesseract-lang # 安装全量语言包 tesseract --list-langs # 验证默认安装只带少量语言tesseract-lang才覆盖全部。Windows从 Tesseract 官方数据页下载目标语言的.traineddata文件如chi_sim.traineddata放入 Tesseract 的 tessdata 目录默认C:\Program Files\Tesseract-OCR\tessdata打开终端执行tesseract --list-langs验证。Docker官方镜像已内置英语、德语、中文简体、法语、葡萄牙语、西班牙语chi_sim开箱即用。想加日文就构建一个派生镜像FROM jbarlow83/ocrmypdf USER root RUN apt-get update apt-get install -y tesseract-ocr-jpn USER app构建完成后用新镜像运行语言列表里就能看到jpn。识别调优不同排版改哪些参数常用调优参数一共 5 个参数选项说明语言-lISO 639-2 三字母代码多语言用拼接页面分割 PSM--tesseract-pagesegmode0–133 为全自动默认0/2 会禁用 OCR不可用引擎 OEM--tesseract-oem0 传统引擎、1 LSTM 神经网络、2 两者混合、3 自动默认阈值--tesseract-thresholdingTesseract 5.0auto / otsu / adaptive-otsu / sauvola下采样--tesseract-downsample-above图像超过该像素尺寸时先缩小100–32767默认 32767两个典型用法# 中日英混合文档多语言拼接 ocrmypdf -l chi_simjpneng input.pdf output.pdf# 竖排日文竖排语言包 竖排分割模式 ocrmypdf -l jpn_vert --tesseract-pagesegmode 5 input.pdf output.pdf背景不均、对比度低的扫描件可以换阈值算法otsu是传统默认adaptive-otsu适合背景深浅变化sauvola适合低对比度文档。 排障手册三个高频问题问题 1语言包已装仍报语言不可用现象启动时提示类似chi_sim is not a valid language的错误。原因语言代码写错了zh、cn都不是合法代码或者语言包没有放进 Tesseract 的 tessdata 目录。解决先tesseract --list-langs看实际装了哪些代码采用 ISO 639-2 三字母标准——中文简体chi_sim、繁体chi_tra、日文jpn、韩文kor。问题 2高分辨率扫描件超时或出空页现象单页处理极慢或超时后该页没有文字层。原因Tesseract 对图像有硬限制每边不超过 32767 像素、数据不超过 2^31 字节超大扫描要么直接报错要么耗时过长。解决保持下采样开启默认开启并调低阈值如--tesseract-downsample-above 8000同时把--tesseract-timeout调大给识别留足时间。问题 3竖排日文识别错乱现象竖排文字被横着识别换行位置完全不对。原因横排语言包加默认 PSM 无法理解竖排排版。解决换用竖排语言包jpn_vert并配合 PSM 5竖排文本模式。进阶用户词典与自定义模型用户词典把行业术语、人名等按每行一个词写进 UTF-8 纯文本文件用--user-words传入可显著提升这类文档的识别准确率--user-patterns还能补充常用词的模式。自定义模型如果你自行训练过 Tesseract 语言得到customlang.traineddata把它拷进 tessdata 目录后用-l customlang调用即可不需要改动 OCRmyPDF 本身。推荐配置速查常规中文文档ocrmypdf -l chi_sim input.pdf output.pdf多语言混合文档ocrmypdf -l engchi_simjpn input.pdf output.pdf低质量扫描件ocrmypdf -l chi_sim --tesseract-thresholding adaptive-otsu --tesseract-downsample-above 8000 input.pdf output.pdf更多细节见仓库内文档语言包安装、Docker 语言配置、安装指南参数实现的源码在 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),仅供参考