本文概述
- 该工具的目标是什么?
- 1.安装OCRmyPDF
- 2.使用OCRmyPDF
在本教程中, 我们将向你展示如何轻松地在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的实战测试, 测试套件和持续集成
# Update repossudo apt-get update# Install the Python Software Properties packagesudo apt-get install -y software-properties-common python-software-properties
安装python软件属性后, 你可以使用以下命令在系统上添加Python 3.6的存储库和所需版本的Tesseract, 不要忘记也要更新存储库:
# Add Python 3.6 reposudo add-apt-repository -y ppa:jonathonf/python-3.6# Add Tesseract OCR reposudo 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 Pythonsudo apt-get update
处置存储库后, 请安装必需的软件包以使OCRmyPDF正常运行:
sudo apt-get install ghostscriptsudo apt-get install libexempi3sudo apt-get install libffi6sudo apt-get install pngquantsudo apt-get install python3.6sudo apt-get install qpdfsudo apt-get install tesseract-ocrsudo 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:$PATHpip3 install --user ocrmypdf
安装后, 你将能够从命令行运行该实用程序。你可以使用以下命令在CLI上打印该工具的版本进行测试:
# At this moment outputs 8.0.1ocrmypdf --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 resultocrmypdf 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 defaultinput_scanned.pdf# takes PDF input (or images)output_searchable.pdf# produces validated PDF output
编码愉快!
推荐阅读
- 如何使用JavaScript中的网络摄像头创建实时条形码扫描仪
- 如何使用JavaScript检测浏览器是否支持Webp图像格式
- 如何通过语音命令即时切换Artyom.js的语言
- 如何在Ubuntu 18.04中使用Coturn创建和配置自己的STUN/TURN服务器
- 在Ubuntu 18.04中使用Python通过音频指纹创建自己的Shazam(识别歌曲)
- Dockerfile构建LNMP分离环境部署wordpress
- linux搭建基于LNMP的wordpress博客
- 使用Docker swarm构建wordpress集群
- 如何为 RHEV-M 安装配置一个离线的软件存储仓库(REPOSITORY)