如何OCR一个PDF文件,并获取文本存储在PDF?


23

首先,很抱歉是否曾有人问过我-我在现有帖子中搜索了一段时间,但找不到支持。

我对Fedora的OCR多页不可搜索的pdf格式的解决方案感兴趣,并将该pdf格式转换为一个新的pdf文件,该文件在图像顶部包含文本层。在Mac OSX或Windows上,我们可以使用Adobe Acrobat,但是在Linux上,尤其是在Fedora上?

https://snippets.webaware.com.au/howto/pdf-ocr-linux/似乎描述了一种解决方案-不幸的是,检索精确图像时我已经迷路了。


您要链接的页面推荐的漂亮pdfocr脚本存在一个问题:它依赖于pdftk,而该pdftk本质上已被弃用(由于两个原因,它依赖于libgcj和iText5 +)。因此无论如何都需要一个不同的解决方案……
Maxim

Answers:


24

最好和最简单的方法就是使用pypdfocr它不会更改pdf。pypdfocr是此处的python模块链接。

pypdfocr your_document.pdf

最后,您可以your_document_ocr.pdf通过可搜索的文本找到想要的另一种方式。该应用程序不会改变图像的质量。通过添加覆盖文本,稍微增加文件的大小。

我认为该命令非常简单,不需要任何GUI。也许安装pypdfocr会更加冗长:

sudo dnf -y install tesseract 
pip install pypdfocr 

更新2018年11月3日:

pypdfocr自2016年以来不再受支持,我注意到由于未进行维护而出现了一些问题。ocrmypdfmodule)做辅助工作,可以这样使用:

ocrmypdf in.pdf out.pdf

安装:

pip install ocrmypdf

要么

sudo apt install ocrmypdf  #ubuntu
sudo dnf -y install ocrmypdf #fedora

为什么要在ubuntu中安装(使用apt)ocrmypdf,而在fedora中安装tessaract?我认为您输入错误
iuridiniz

@iuridiniz修复了它。这是一个
误入歧途

8

在得知tesseract现在也可以生成可搜索的pdf之后,我找到了脚本三明治:http : //www.tobias-elze.de/pdfsandwich/

安装依赖项后(这可能不是完整的列表)

sudo dnf install svn ocaml unpaper tesseract

我按照脚本指南从源代码进行编译

从源代码编译

pdfsandwich是开源软件(许可证:GPL)。您可以从项目网站的下载区域以.tar.bz2包的形式下载源,也可以通过subversion检出它们:

svn checkout svn://svn.code.sf.net/p/pdfsandwich/code/trunk/src pdfsandwich

如果系统上安装了OCaml,则可以按以下方式编译和安装:

cd pdfsandwich
./configure
make
sudo make install

现在,这使我可以跑步

sandwich multipaged-non-searchable.pdf

生成可搜索的pdf。


对于相关的,但独立的问题,建立在这一个,见unix.stackexchange.com/questions/306051/...
ingli

1
FWIW:pdfsandwich也可以在Ubuntu的apt软件包存储库中找到。其他发行版可能也有。
劳伦斯·贡萨尔维斯(Marc),


刚好遇到fedoramagazine.org/4-cool-new-projects-try-copr-october-2018,显示了针对fedora的COPR软件包,其中包含pdfsandwich软件包
ingli 18-10-26


1

我有同样的问题,所以我在周末写了这个。试一试; 它很棒!它是一个简单的包装器tesseract。它用于pdftoppm将PDF转换为一堆TIFF文件,然后用于tesseract对其执行OCR(光学字符识别)并生成可搜索的PDF作为输出。脚本完成后,所有中间临时文件都会自动删除。

源代码:https : //github.com/ElectricRCAircraftGuy/PDF2SearchablePDF

安装和使用说明pdf2searchablepdf

已于2019年11月11日在Ubuntu 18.04上测试。

安装:

git clone https://github.com/ElectricRCAircraftGuy/PDF2SearchablePDF.git
./PDF2SearchablePDF/install.sh

sudo apt update
sudo apt install tesseract-ocr

使用:

pdf2searchablepdf mypdf.pdf

您现在将拥有一个名为mypdf_searchable.pdf的pdf 文件。,其中包含可搜索的文本!

做完了 它没有python依赖项,因为它目前完全以bash编写。

参考或相关资源:

  1. PDF2SearchablePDFhttps//github.com/ElectricRCAircraftGuy/PDF2SearchablePDF
  2. /ubuntu/473843/how-to-turn-a-pdf-into-a-text-searchable-pdf/1187881#1187881
  3. /ubuntu/16268/whats-the-best-simplest-ocr-solution
  4. /ubuntu/150100/extracting-embedded-images-from-a-pdf/1187844#1187844
  5. pdfsandwich:我刚刚发现的替代软件包装器,也值得一试!http://www.tobias-elze.de/pdfsandwich/
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.