OCRmypdf安装部署深入详解

简介: 1、OCRmypdf简介OCRmyPDF使用最好的可用开源OCR引擎Tesseract执行OCR。OCRmyPDF是一个Python 3包,将OCR图层处理结果添加到PDF。OCRmyPDF是功能最丰富且经过彻底测试的OCR PDF转换工具。2、OCRmypdf支持的系统1) macOS2) Ubuntu 16.04 LTS3)ArchLinux4)Windows此外,OCRmypdf提供了docker镜像,可以直接下载镜像、使用。

3、centos6.9 下 OCRmypdf源码安装

Centos版本:

[root@bc22c4e1 ~]# cat /etc/issue

CentOS release 6.9 (Final)


3.1 安装前提要求

1)Python > 3.5


[root@bc22c4e1 ~]# python -V

Python 3.5.0

1

2

2)pip > 0.9.1


[root@bc22c4e1 ~]# pip -V

pip 9.0.1 from /usr/local/python3/lib/python3.5/site-packages (python 3.5)

1

2

3) Python3导入sqlite3成功


4)基础配置


*CentOS/RHEL 6.x*

# yum install gcc python-devel python-setuptools

# easy_install pip

# pip install fabric

1

2

3

4

5)其他功能配置

pdftotext依赖如下:


yum install poppler-utils

1

3.2 具体安装步骤

步骤1:下载git源文件。

git clone -b master https://github.com/jbarlow83/OCRmyPDF.git


步骤2:设置环境


python3 -m venv  ./

1

步骤3:源码编译


source venv/bin/activate

1

步骤4:执行安装


cd OCRmyPDF

pip3 install .

1

2

4、OCRmyPDF安装中遇到的错误及解决方案

问题1:gs版本低。

错误如下:

Running setup.py install for ocrmypdf … error

Complete output from command /usr/local/bin/python -u -c “import setuptools, tokenize;file=’/tmp/pip-lio4mtqk-build/setup.py’;f=getattr(tokenize, ‘open’, open)(file);code=f.read().replace(‘\r\n’, ‘\n’);f.close();exec(compile(code, file, ‘exec’))” install –record /tmp/pip-qnapqha6-record/install-record.txt –single-version-externally-managed –compile:

Checking for tesseract >= 3.04…

Found tesseract 3.04.00

Checking for gs >= 9.15..


解决方案:

curl -O http://downloads.ghostscript.com/public/ghostscript-9.14.tar.gz &&

tar -xzf ghostscript-9.14.tar.gz &&

cd ghostscript-9.14 &&

./configure &&

make install &&

make so &&

cp ghostscript-9.14/sobin/libgs.so.9.14 /usr/lib &&

ln -s /usr/lib/libgs.so.9.14 /usr/lib/libgs.so &&

mkdir -p /etc/ld.so.conf.d/ &&

echo “/usr/lib/libgs.so” > /etc/ld.so.conf.d/libgs.conf &&

ldconfig &&

echo “Installing ghostscript finish” &&

gs

参考地址:https://unix.stackexchange.com/questions/79025/install-ghostscript-v-9-05-or-newer-on-centos


问题2:unpaper没有正确安装的错误提示。

解决方案:

步骤1:下载6.1版本unpaper


# cd /var/bin && wget https://www.flameeyes.eu/files/unpaper-6.1.tar.xz && tar -xvf unpaper-6.1.tar.xz

1

步骤2: 编译、安装、运行unpaper6.1


# cd unpaper-6.1 && ./configure && make && make install

1

参考地址:https://github.com/Flameeyes/unpaper/issues/44


问题3:qpdf没有安装错误提示。

解决方案:

qpdf编译、安装、运行。


./configure


make

make install

1

2

3

4

参考:https://github.com/qpdf/qpdf


问题4:

configure: error: Package requirements (libavformat libavcodec libavutil) were not met:

No package 'libavformat' found

No package 'libavcodec' found

No package 'libavutil' found

1

2

3

4

或者:


No package 'libavformat' found No package 'libavcodec' found No package 'libavutil' found

1

解决方案:

步骤1:安装依赖。


yum install libvorbis yasm freetype zlib bzip2 faac lame speex libvpx libogg libtheora x264 XviD openjpeg15 opencore-amr

1

步骤2:下载&安装

wget https://www.libav.org/releases/libav-10.5.tar.gz

tar xvf libav-10.5.tar.gz

cd libav-10.5

/configure –extra-cflags=-I/opt/local/include –extra-ldflags=-L/opt/local/lib –enable-gpl –enable-version3 –enable-libvpx

make

make install


参考:https://superuser.com/questions/850808/how-to-install-libav-tools-in-centos-6


问题5:”No package ‘libffi’ found” error during pip install

解决方案:

yum search ffi | grep python

yum install python-cffi

yum install libffi-devel

pip install –upgrade cffi


参考:https://github.com/Kozea/cairocffi/issues/14


5、安装成功标志。

ages (from reportlab>=3.3.0->ocrmypdf==5.2.post0+g3a7c341.d20170710)

Requirement already satisfied: pycparser in /home/centos001/lib/python3.5/site-packages (from cffi>=1.9.1->ocrmypdf==5.2.post0+g3a7c341.d20170710)

Installing collected packages: ocrmypdf

Running setup.py install for ocrmypdf ... done

Successfully installed ocrmypdf-5.2.post0+g3a7c341.d20170710

1

2

3

4

5

参考

python3、pip3安装参考 :http://www.jianshu.com/p/6199b5c26725

sqlite3安装参考:http://www.cnblogs.com/greentomlee/p/6561509.html


小结

事件出真知,有问题就努力一个个排查问题,直到全部解决。(耗时2天)

相关文章
|
Ubuntu Python 文字识别
OCRmypdf安装部署深入详解
OCRmyPDF使用最好的可用开源OCR引擎Tesseract执行OCR。 OCRmyPDF是一个Python 3包,将OCR图层处理结果添加到PDF。 OCRmyPDF是功能最丰富且经过彻底测试的OCR PDF转换工具。
3367 0
OCRmypdf安装部署深入详解
|
SQL 存储 消息中间件
大厂偏爱的Agent技术究竟是个啥
为了解释什么是Agent技术,我在网上搜了一圈,但没有找到想要的结果。反倒是搜到了不少Java Agent技术,要注意Java Agent技术指的是一种Java字节码修改技术,和本文要说的完全是两码事。 既然搜不到,我就说下自己的理解吧。Agent技术是在「客户端」机器上部署一个Agent进程,「客户端」与「服务端」的交互通过这个Agent进行代理,其中Agent与Client通常在同一主机,即可通过「localhost」进行访问。
2063 0
大厂偏爱的Agent技术究竟是个啥
|
人工智能 文字识别 安全
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
Stirling-PDF 是一款基于 Docker 的本地化 PDF 编辑工具,支持 50 多种 PDF 操作,包括合并、拆分、转换、压缩等,同时提供多语言支持和企业级功能,满足个人和企业用户的多样化需求。
1300 6
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
|
存储 固态存储 文件存储
一台电脑最多能接几个硬盘?
电脑硬盘扩展指南:从硬件接口(SATA、M.2、USB)到供电散热,再到操作系统盘符限制,本文全面解析一台电脑最多能接多少硬盘。普通用户适合2-4块硬盘,专业人士可扩展至8块以上,企业服务器则无明确上限。通过RAID阵列或NAS设备,还能突破传统限制,满足海量存储需求。了解这些技巧,助您合理规划存储方案!
|
存储 C++ 容器
(3)Qt中的变体数据类型(QVariant)
QVariant是Qt中一个强大的变体数据类型,能够存储和管理多种Qt和C++基本数据类型,包括自定义类型,并通过setValue()和value()方法进行赋值和取值。
1179 9
(3)Qt中的变体数据类型(QVariant)
|
机器学习/深度学习 人工智能 测试技术
VisionTS:基于时间序列的图形构建高性能时间序列预测模型,利用图像信息进行时间序列预测
构建预训练时间序列模型的主要挑战在于获取高质量、多样化的时间序列数据。目前有两种方法:迁移学习LLM(如GPT-4或Llama)和从零训练。尽管迁移学习可行,但效果有限;从零训练则依赖大量数据,如MOIRAI、TimesFM和TTM等模型所示。为解决这一难题,研究人员提出利用图像数据进行时间序列预测。
1114 11
VisionTS:基于时间序列的图形构建高性能时间序列预测模型,利用图像信息进行时间序列预测
|
开发工具 数据库 git
通俗易懂!看漫画学Python入门教程(全彩版)Git首发破万Star
很多编程语言书读起来都略显晦涩,让不少读者望而却步,很难坚持读完。关老师的新书另辟蹊径,以漫画形式切入,生动有趣,把复杂的技术点和编程知识讲解得通俗易懂真正体现了一图胜干言的道理。而且每章结束时都有“练一练”环节,能够帮助读者夯实基础、锻炼技能。不得不说,这是一本Python入门和进阶佳作。
|
存储 缓存
解决Gradle: Connection timed out问题
解决Gradle: Connection timed out问题
6433 0
|
编译器 Linux C语言
PCI配置空间简介
一、PCI配置空间简介 PCI有三个相互独立的物理地址空间:设备存储器地址空间、I/O地址空间和配置空间。配置空间是PCI所特有的一个物理空间。由于PCI支持设备即插即用,所以PCI设备不占用固定的内存地址空间或I/O地址空间,而是由操作系统决定其映射的基址。
4109 0