简介
开源 OCR 工具,识别扫描版 PDF 使其可以搜索、复制等
OCR, Optical Character Recognition,光学字符识别,是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程
github: https://github.com/jbarlow83/OCRmyPDF
docs: https://ocrmypdf.readthedocs.io/en/latest/
安装
安装 ocymypdf 及依赖
sudo apt-get -y remove ocrmypdf # 本机未安装 ocrmypdf 旧版
sudo apt-get -y update
sudo apt-get -y install \
ghostscript \
icc-profiles-free \
liblept5 \
libxml2 \
pngquant \
python3-cffi \
python3-distutils \
python3-pkg-resources \
python3-reportlab \
qpdf \
tesseract-ocr \
zlib1g \
unpaper
wget https://bootstrap.pypa.io/get-pip.py && python3 get-pip.py
export PATH=$HOME/.local/bin:$PATH
python3 -m pip install --user ocrmypdf
安装 JBIG2 encoder
git clone https://github.com/agl/jbig2enc
cd jbig2enc
./autogen.sh
./configure && make
[sudo] make install
遇到的问题
执行 ./autogen.sh
-
./autogen.sh: 行 45: aclocal:未找到命令
sudo apt-get install automake
-
./autogen.sh: 行 50: libtoolize:未找到命令 ./autogen.sh: 行 50: glibtoolize:未找到命令
sudo apt install libtool
执行./configure && make
-
Error! Leptonica not detected.
sudo apt install libleptonica-dev
https://github.com/tesseract-ocr/tesseract/issues/215#issuecomment-369339789
-
Error! zlib not detected.
sudo apt install zlib1g-dev
安装语言包
sudo apt install tesseract-ocr-chi-sim
命令
ocrmypdf -l chi_sim --output-type pdf [source.pdf] [ocr.pdf]
-
ocrmypdf
工具命令
-
-l
chi_sim指定语言为中文简体
-
--output-type
pdf生成标准的 PDF 格式
-
source.pdf
需要进行处理的文档名
-
ocr.pdf
处理完生成的文档名
示例
ocrmypdf -l chi_sim --output-type pdf 正则表达式必知必会\(修订版\).pdf 正则表达式必知必会\(修订版\)-ocr.pdf --force-ocr