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
1647 0
|
2月前
|
机器学习/深度学习 自然语言处理 前端开发
售后回访全是机器噪音和方言,语音识别怎么做到98%准确率
售后电话回访场景中,机器运转噪音、方言口音、电话信道压缩是ASR识别的三大"杀手"。本文从信号处理、声学模型、语言模型三个层面,拆解高噪声环境下的语音识别技术方案,并结合实际案例说明如何将识别准确率提升至98%以上。
271 0
|
机器学习/深度学习 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镜像,可以直接下载镜像、使用。
|
9月前
|
数据采集 存储 前端开发
医疗爬虫实战:手把手教你抓取丁香园药品信息库
本文以丁香园药品库为例,用Python实战讲解医疗数据爬取技术。涵盖Requests、Lxml、Pandas等工具应用,解析反爬策略、代理轮换、数据清洗与存储方案,助你高效获取结构化药品信息,兼顾合规与实用性。(238字)
718 0
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(三)
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(三)
856 1
|
SQL JavaScript 前端开发
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(一)
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(一)
1430 2
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(三):成熟AI模型与自研如何选择?
本文为AI训练师提供选型指南,探讨使用成熟模型还是自研算法。内容涵盖NLP、CV和多模态场景下主流模型推荐,如DeepSeek-Chat、GPT-4o、ResNet-50等,以及自研模型的应用场景与技术实现。同时提供懒人四步决策法和避雷口诀,帮助快速选择适合的工具。新手建议从预训练模型入手,逐步深入魔改或自研,避免常见坑点。附带场景化对比表,助力高效决策。
1042 5
|
人工智能 Devops 数据挖掘
IT项目经理的职责、能力和工具:让项目管理更高效
3分钟了解IT项目经理的主要职责和需要具备哪些专业技能。
819 5
IT项目经理的职责、能力和工具:让项目管理更高效
|
Python Windows
xlrd库报错【AttributeError: ‘ElementTree‘ object has no attribute ‘getiterator‘】
xlrd库报错【AttributeError: ‘ElementTree‘ object has no attribute ‘getiterator‘】
740 0
|
机器学习/深度学习 数据采集 人工智能
智能化运维在现代数据中心的应用与挑战####
本文深入探讨了智能化运维(AIOps)技术如何革新现代数据中心的运维管理,通过集成人工智能、大数据分析及自动化工具,显著提升系统稳定性、效率和响应速度。文章首先概述了AIOps的核心概念与技术框架,随后详细分析了其在故障预测、异常检测、容量规划及事件响应等方面的应用实例,最后探讨了实施过程中面临的数据质量、技能匹配及安全性等挑战,并提出了相应的应对策略。本研究旨在为数据中心管理者提供关于采纳和优化AIOps实践的洞见,以期推动行业向更高效、智能的运维模式转型。 ####