【问题标题】:Convert Non-Searchable Pdf to Searchable Pdf in Windows Python在 Windows Python 中将不可搜索的 Pdf 转换为可搜索的 Pdf
【发布时间】:2019-01-27 16:11:26
【问题描述】:

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

我使用过 ABBY FineReader Online,它做得非常好,但我正在寻找可以通过 Windows Python

实现的解决方案

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

Scanned Image/PDF to Searchable Image/PDF

告诉使用 Ghost 脚本首先将其转换为图像,然后直接转换为文本。我不相信 tesseract 将不可搜索的 PDF 转换为可搜索的 PDF。

Converting searchable PDF to a non-searchable PDF

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

有人可以帮忙告诉在 Windows Python 中实现不可搜索到可搜索的 Python 代码应该是什么?


更新 1

我已经通过 Asprise Web Ocr 获得了想要的结果。下面是链接和代码:

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

我正在寻找只能通过 Windows Python 库完成的解决方案

  1. 以后无需支付订阅费用
  2. 我每天需要转换数千个文档,将一个上传到 API 然后下载等等会很麻烦。

更新 2

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

【问题讨论】:

    标签: python python-3.x pdf ocr


    【解决方案1】:

    好吧,您实际上并不需要将 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 下载此库,上面链接中提供了说明。

    【讨论】:

    • 是的,我知道!! Tesseract OCR 将 pdf 转换为不可搜索的文本到可搜索的 pdf。还有使用 python3 + tesseract 的 ghostscript 问题。相信我,我已经试过了!! :)
    • 所以你正在寻找一个已经制定的解决方案,而不是关于如何制作的建议。
    【解决方案2】:

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

    来自自述文件:

    pypdfocr filename.pdf
    --> filename_ocr.pdf will be generated
    

    仔细阅读 Windows 的安装说明。

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

    【讨论】:

    • 已经试过了..不工作或者我不知道如何让它在 Windows 中工作
    • 用另一种可能的解决方案更新了我的答案
    【解决方案3】:

    我最近写了一篇博客文章,我使用以下方法完成了这项工作:

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

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

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

    【讨论】:

    • 谢谢马蒂!!我在 Windows 上运行同样的东西..还有一个适用于 Windows 的 docker/poppler utils ..但是这个过程变得太长了..首先我必须将它转换为图像(每页 1 个图像)然后它正在转换为可搜索的 PDF
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    • 2015-03-02
    • 1970-01-01
    相关资源
    最近更新 更多