在Windows Python中将不可搜索的Pdf转换为可搜索的Pdf

Rah*_*wal 15 python pdf ocr python-3.x

需要一个解决方案来转换PDF文件,其中每个页面都是图像,页面可以包含文本,表格或两者的组合到可搜索的pdf.

我使用过ABBY FineReader Online,它完美地完成了这项工作,但我正在寻找一种可以通过Windows Python实现的解决方案

我已经做了详细的分析,下面的链接接近我想要的但不完全是:

扫描图像/ PDF到可搜索图像/ PDF

它告诉我使用Ghost脚本将它转换为第一个图像然后它直接转换为文本.我不相信tesseract将不可搜索的内容转换为可搜索的PDF文件.

将可搜索的PDF转换为不可搜索的PDF

上述解决方案有助于反向转换,即将可搜索转换为不可搜索的.另外我认为这些在Ubuntu/Linux/MacOS中是有效的.

可有人请在讲述什么应该是在实现非搜索的可搜索的Python代码帮助的Windows的Python


更新1

我在Asprise Web Ocr上获得了理想的结果.以下是链接和代码:

https://asprise.com/royalty-free-library/python-ocr-api-overview.html

我正在寻找一种解决方案,只能通过Windows Python库来完成

  1. 将来无需支付订阅费用
  2. 我需要每天转换成千上万的文档,将一个文件上传到API然后下载等等都很麻烦.

更新2

我知道将不可搜索的pdf直接转换为文本的解决方案.但我正在寻找他们的任何方式将不可搜索的转换为可搜索的PDF.我有使用PyPDF2将PDF转换为文本的代码.

Ale*_*ogu 6

那么你实际上并不需要将pdf中的所有内容转换为文本.文本将保留文本,表格将保留表格,如果可能,图像应成为文本.您需要一个实际按原样读取pdf的脚本,并开始在块上进行转换.该脚本将写入文本块,直到文档被完全读取,然后将其转换为pdf.就像是

if line_is_text():
    write_the_line_as_is()
elif line_is_img():
    transform_img_in_text()# comments below code
...
..
.
Run Code Online (Sandbox Code Playgroud)

现在transform_img_in_text()我认为可以使用许多外部库来完成,您可以使用它们:

Tesseract OCR Python

您可以通过pip上面链接中提供的说明下载此lib .

  • 因此,您正在寻找一种已经解决的解决方案,而不是关于如何解决的建议。 (2认同)

iac*_*ppo 4

我过去曾使用pypdfocr来执行此操作。不过最近还没有更新。

来自自述文件:

pypdfocr filename.pdf
--> filename_ocr.pdf will be generated
Run Code Online (Sandbox Code Playgroud)

仔细阅读 Windows 的安装说明。

更新的 Python 库是 OCRmyPDF: https: //github.com/jbarlow83/OCRmyPDF有一个适用于 Windows 的 Docker 映像