OCRmypdf安装部署深入详解

简介: OCRmyPDF使用最好的可用开源OCR引擎Tesseract执行OCR。 OCRmyPDF是一个Python 3包,将OCR图层处理结果添加到PDF。 OCRmyPDF是功能最丰富且经过彻底测试的OCR PDF转换工具。

1、OCRmypdf简介

OCRmyPDF使用最好的可用开源OCR引擎Tesseract执行OCR。
OCRmyPDF是一个Python 3包,将OCR图层处理结果添加到PDF。
OCRmyPDF是功能最丰富且经过彻底测试的OCR PDF转换工具。

2、OCRmypdf支持的系统

1) macOS
2) Ubuntu 16.04 LTS
3)ArchLinux
4)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

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)

3) Python3导入sqlite3成功

4)基础配置

*CentOS/RHEL 6.x*
# yum install gcc python-devel python-setuptools
# easy_install pip
# pip install fabric

5)其他功能配置
pdftotext依赖如下:

yum install poppler-utils

3.2 具体安装步骤

步骤1:下载git源文件。

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

步骤2:设置环境

python3 -m venv  ./

步骤3:源码编译

source venv/bin/activate

步骤4:执行安装

cd OCRmyPDF
pip3 install .

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 


###问题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


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

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

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

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

解决方案: 
qpdf编译、安装、运行。

./configure

make
make install


参考: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

或者:

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

解决方案: 
步骤1:安装依赖。

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

步骤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



问题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
```

参考
python3、pip3安装参考 :http://www.jianshu.com/p/6199b5c26725
sqlite3安装参考:http://www.cnblogs.com/greentomlee/p/6561509.html

小结

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


作者:铭毅天下
转载请标明出处,原文地址:
http://blog.csdn.net/laoyang360/article/details/77141977

相关文章
|
JavaScript 前端开发 API
【第42期】一文了解服务端渲染框架NextJS
【第42期】一文了解服务端渲染框架NextJS
1542 0
|
5G 数据处理 UED
超密集网络UDN的核心特点 | 带你读《5G UDN(超密集网络)技术详解》之一
本书全面深入地阐述了 UDN 技术的发展历史、当今的现状及未来趋势,内容 涵盖上层业务应用、部署组网、系统架构、无线接入侧高层和物理层关键技术等方 面。本书从 5G 移动业界大背景为切入点,紧密结合了当前 5G 在 3GPP 的标准化 进展,系统化地梳理和诠释了 5G UDN 的诸多相关技术,从宏观到微观,从高层 到低层。通过本书,读者不仅可以全面丰富地了解目前 5G 在 3GPP 的标准化状况 和未来趋势,系统化地学习 UDN 技术体系的相关知识,还可以体察标准制定背后 的诸多缘由和规律。
超密集网络UDN的核心特点 | 带你读《5G UDN(超密集网络)技术详解》之一
|
10月前
|
数据安全/隐私保护
springboot3 vue3校园失物招领系统实战开发
本项目基于SpringBoot3与Vue3开发全新校园失物招领系统,支持用户发布失物、招领信息,提供私信交流、物品领取、管理员管理功能,含详细角色设计与功能模块,适合学习参考。
|
机器学习/深度学习 Web App开发 文字识别
OCRmypdf安装部署深入详解
1、OCRmypdf简介 OCRmyPDF使用最好的可用开源OCR引擎Tesseract执行OCR。 OCRmyPDF是一个Python 3包,将OCR图层处理结果添加到PDF。 OCRmyPDF是功能最丰富且经过彻底测试的OCR PDF转换工具。 2、OCRmypdf支持的系统 1) macOS 2) Ubuntu 16.04 LTS 3)ArchLinux 4)Windows 此外,OCRmypdf提供了docker镜像,可以直接下载镜像、使用。
|
存储 自然语言处理 Java
Elasticsearch写入优化
【10月更文挑战第3天】Elasticsearch:从写入原理谈写入优化
576 2
|
10月前
|
人工智能 监控 JavaScript
用 iotop、vmstat、uptime 精准定位瓶颈
系统性能变慢可能由多种因素导致,如 CPU、内存、I/O 或网络瓶颈等。通过工具如 uptime、vmstat 和 iotop,可以快速定位问题根源。合理使用监控工具与自动化告警,能有效提升系统稳定性与性能。
180 0
|
存储 Oracle NoSQL
【赵渝强老师】Oracle的体系架构
Oracle数据库的核心在于其体系架构,主要包括数据库与实例、存储结构、进程结构和内存结构。数据库由物理文件组成,实例则是内存和进程的组合。存储结构分为逻辑和物理两部分,进程结构涉及多个后台进程如SMON、PMON、DBWn等,内存结构则包含SGA和PGA。掌握这些知识有助于更好地管理和优化Oracle数据库。
574 7
|
敏捷开发 监控 数据可视化
实现SMART目标的工具有哪些?推荐5款适合团队和企业的目标管理工具
本文介绍了5款高效工具,包括Banli Kanban、Wrike、Airtable、Targetprocess和Basecamp,它们均能有效支持企业实现SMART目标的设定与管理。这些工具通过任务管理、进度跟踪、团队协作等功能,帮助企业确保目标的具体性、可衡量性、可达成性、相关性和时限性,提升工作效率和目标达成率。选择合适的工具需考虑企业的具体需求和规模。
1332 0
实现SMART目标的工具有哪些?推荐5款适合团队和企业的目标管理工具
|
Python Windows
xlrd库报错【AttributeError: ‘ElementTree‘ object has no attribute ‘getiterator‘】
xlrd库报错【AttributeError: ‘ElementTree‘ object has no attribute ‘getiterator‘】
649 0
|
安全 开发工具 Android开发
安卓与iOS系统的优缺点比较
【2月更文挑战第6天】 安卓和iOS是目前市场上最流行的两种操作系统。虽然它们都拥有自己的独特之处,但它们也有一些共同之处。本文将探讨这两种操作系统的优缺点,并对它们进行比较。
1134 5