本文概述
你试图选择PDF的内容多少次, 可惜PDF的内容是图像?真烦人吗?幸运的是, 如果你正在处理一些需要将图像转换为文本的应用程序, 则OCRmyPDF是实现此目标的正确工具。尽管在Ubuntu 16.10及更高版本中, 安装此工具非常容易, 但在Ubuntu 16.04中, 安装过程却有点复杂, 因此你将需要执行一些额外的步骤。
在本教程中, 我们将向你展示如何轻松地在Ubuntu 16.04系统上正确安装此工具。
该工具的目标是什么?
为了快速解释该工具将帮助你实现什么, 我们将展示以下简单案例。我们从一本真实的书中扫描了一些页面, 因此得到了PDF。如果你使用某些PDF查看器打开PDF, 你将看到其中大多数无法选择文本, PDF基本上是图像:
但是, 人们期望和需要的是可以使用鼠标选择文本的可能性:
这基本上就是该工具将产生的内容, 即一个新的PDF, 它在原始PDF上带有一层可选文本, 因此用户将能够轻松提取信息。
1.安装OCRmyPDF
OCRmyPDF将OCR文本层添加到扫描的PDF文件中, 从而可以对其进行搜索或复制粘贴。该工具的特点:
- 从常规PDF生成可搜索的PDF / A文件
- 将OCR文本准确地放置在图像下方, 以方便复制/粘贴
- 保持原始嵌入图像的精确分辨率
- 尽可能将OCR信息作为”无损”操作插入, 而不会破坏任何其他内容
- 优化PDF图像, 通常生成比输入文件小的文件
- 如果需要, 请在执行OCR之前进行歪斜校正和/或清洁图像
- 验证输入和输出文件
- 跨所有可用的CPU内核分配工作
- 使用Tesseract OCR引擎
- 支持Tesseract认可的100多种语言
- 经过数以千计的PDF的实战测试, 测试套件和持续集成
要在Ubuntu服务器上安装此工具, 你将需要执行一些额外的步骤, 因为此版本的Ubuntu没有可用的软件包。似乎还不够, OCRmyPDF 8.0和更高版本需要Python 3.6, 但是Ubuntu 16.04附带了Python 3.5, 因此你需要在其上安装Python 3.6。首先使用以下命令安装” Python软件属性”软件包:
# Update repos
sudo apt-get update
# Install the Python Software Properties package
sudo apt-get install -y software-properties-common python-software-properties
安装python软件属性后, 你可以使用以下命令在系统上添加Python 3.6的存储库和所需版本的Tesseract, 不要忘记也要更新存储库:
# Add Python 3.6 repo
sudo add-apt-repository -y ppa:jonathonf/python-3.6
# Add Tesseract OCR repo
sudo add-apt-repository -y ppa:alex-p/tesseract-ocr
# Update repos once again, otherwise during the installation of packages later, some will fail e.g Python
sudo apt-get update
处置存储库后, 请安装必需的软件包以使OCRmyPDF正常运行:
sudo apt-get install ghostscript
sudo apt-get install libexempi3
sudo apt-get install libffi6
sudo apt-get install pngquant
sudo apt-get install python3.6
sudo apt-get install qpdf
sudo apt-get install tesseract-ocr
sudo apt-get install unpaper
安装完所有软件包后, 你还需要使Path中的Python可用。 sudo apt-get install python3.6命令将在系统的Python 3.5旁的/usr/bin/python3.6处安装Python 3.6二进制文件。不要删除系统Python。这还将从PPA安装Tesseract 4.0, 因为Ubuntu 16.04中可用的版本对于OCRmyPDF而言太旧了。
最后一步, 你将需要使用pip通过Python安装OCRmyPDF库本身!运行以下说明进行安装:
注意
每次重新启动ubuntu系统时, 你可能都需要运行这些命令, 因为ocrmypdf将不再在路径中可用。
export PATH=$HOME/.local/bin:$PATH
pip3 install --user ocrmypdf
安装后, 你将能够从命令行运行该实用程序。你可以使用以下命令在CLI上打印该工具的版本进行测试:
# At this moment outputs 8.0.1
ocrmypdf --version
有关此工具的更多信息, 请访问Github上的官方存储库和文档。支持Linux, UNIX和macOS。不直接支持Windows, 但是有一个可在Windows上运行的Docker映像。
2.使用OCRmyPDF
OCRmyPDF的用法非常简单易行。只需提供输入PDF的路径以及将根据输入创建的新PDF的名称作为第一个参数:
# Create a selectable layer of text in the PDF from the input file and create a new PDF file with the result
ocrmypdf input_file.pdf output_file.pdf
运行该命令后, 该工具将从任务开始, 并且需要一段时间才能完成。 CLI输出将类似于:
INFO - Optimize ratio: 1.00 savings: 0.0%
INFO - Output file is a PDF/A-2B (as expected)
INFO - Page orientations detected: 1 2
CLI工具还提供了一些参数, 你可以根据需要自定义这些参数, 例如, 指定将被识别的文本的语言, 固定PDF中页面的方向等等:
ocrmypdf # it's a scriptable command line program
-l eng+fra # it supports multiple languages
--rotate-pages # it can fix pages that are misrotated
--deskew # it can deskew crooked PDFs!
--title "My PDF" # it can change output metadata
--jobs 4 # it uses multiple cores by default
--output-type pdfa # it produces PDF/A by default
input_scanned.pdf # takes PDF input (or images)
output_searchable.pdf # produces validated PDF output
编码愉快!
评论前必须登录!
注册