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

2024-10-01 15:49:17 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我使用过ABBY FineReader Online,它做得非常好,但我正在寻找一个可以通过Windows Python实现的解决方案

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

Scanned Image/PDF to Searchable Image/PDF

它是告诉使用鬼脚本转换成图像,然后它直接转换为文本。我不相信tesseract会将不可搜索的PDF转换为可搜索的PDF

Converting searchable PDF to a non-searchable PDF

上述解决方案反过来有助于将可搜索转换为不可搜索。我也认为这些在Ubuntu/Linux/MacOS中是有效的。在

有人能帮我讲讲在Windows Python中实现不可搜索到的Python代码应该是什么?在


更新1

我用asprisewebocr得到了预期的结果。以下是链接和代码:

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

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

  1. 以后不需要支付订阅费用
  2. 我需要转换成千上万的文件,这将是一个繁琐的上传到API,然后下载等。在

更新2

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


Tags: 文件to代码图像image文本pdf链接
3条回答

我最近写了一篇博文,我用以下方法实现了这一点:

  • OCRmyPDF-包装Tesseract的python库
  • 在Azure中运行的docker容器

你可能需要调整一些东西来满足你的需求,但我相信这篇文章中的构建块可以应用于你的需求:

http://martyice.github.io/docker-in-azure/

其实你不需要把pdf里面的所有东西都转换成文本。文本将保留文本,表格将保留表格,如果可能,图像应变为文本。 您需要一个脚本来实际读取pdf,并在块上开始转换。该脚本将编写文本块,直到文档被完全读取,然后将其转换为pdf。有点像

if line_is_text():
    write_the_line_as_is()
elif line_is_img():
    transform_img_in_text()# comments below code
...
..
.

现在transform_img_in_text()我认为可以用许多外部库来完成,其中一个可以使用的是:

Tesseract OCR Python

您可以通过pip下载这个库,上面的链接中提供了说明。在

我以前用过pypdfocr来做这个。不过最近还没有更新。在

自述:

pypdfocr filename.pdf
 > filename_ocr.pdf will be generated

请仔细阅读Windows的安装说明。在

最近的Python库是OCRmyPDF:https://github.com/jbarlow83/OCRmyPDF有一个Windows的Docker映像

相关问题 更多 >

    热门问题