如何使用 Python 的 OCR(光学字符识别)读取 PDF 内容2024年11月16日 | 阅读 5 分钟 Python 是当今最受欢迎的编程语言之一。我们可以用它来分析数据,但数据并非总是以所需的格式提供。在这种情况下,我们可以将文件格式从 pdf、jpg 转换为文本(.txt)格式,以便更好地分析数据。有许多库可用于执行此类任务。 我们可以使用 Python 的 PyPDF2 模块来执行将 .pdf 文件转换为文本格式的任务。使用此模块可能面临的主要缺点是编码方案。PDF 文档文件可以包含各种编码,如 Unicode、ASCII、UTF-8 等。因此,由于编码方案,将 PDF 文件转换为文本可能会导致数据丢失。 在本教程中,我们将学习如何通过使用“光学字符识别”方法读取 PDF 文件内容并将其存储为文本(.txt)格式。 首先,我们需要将 PDF 文档文件的页面转换为图像,然后,我们将使用 OCR 从图像中读取内容并将其存储到文本(.txt)格式的文件中。 所需模块我们将使用给定的命令安装以下模块进行本教程的学习
(为此,用户应拥有 Microsoft Visual C++ 14.0,可通过“Visual Studio 的生成工具”获取:https://visualstudio.microsoft.com/downloads/) 第一部分第一部分将处理将我的 PDF 页面转换为图像文件。PDF 文件中的每个页面都将作为图像文件存储,图像的名称将存储为 第二部分第二部分将处理识别图像文件中的文本,并将其排序到“.txt”格式的文本文件中。在这里,我们将处理图像文件以将其转换为文本内容。一旦我们有了作为字符串变量的文本,我们就可以开始处理文本(.txt)文件。例如,在许多 PFD 文件中,我们可以看到当一行完成时,最后一个单词无法完全写在同一行上,此时会添加一个连字符,然后将单词继续到下一行。例如 对于这类单词,我们将进行基本预处理,将连字符和下一行转换为一个完整的单词。完成预处理后,此文本将排序到单独的文本文件中。 代码输出 输入 PDF 文件 ![]() 输出文本文件 ![]() 正如我们所见,PDF 文件中的页面已转换为图像。然后读取了这些图像,并将其内容写入文本文件。 使用 OCR 方法的优点
使用 OCR 方法的缺点
结论在本教程中,我们讨论了如何使用 Python 中的 OCR 读取 PDF 文件内容。 |
在下一篇教程中,我们将讨论 Python 编程语言的 rarfile 模块。我们将通过一些示例来理解 rarfile 模块的不同类。那么,让我们开始吧。理解 Python rarfile 模块,它用于读取 RAR 归档文件。接口...
阅读 10 分钟
Python 是一种面向对象的编程语言。在 Python 中,一切都被视为对象,包括变量、函数、列表、元组、字典、集合等。每个对象都属于其自己的类。例如,一个整数变量属于整数类。对象是一个现实世界的实体。一个对象...
阅读 2 分钟
在本教程中,我们将编写一个 Python 程序来查找两个给定字符串之间的差异。这个问题可能会在面试中出现。让我们理解问题陈述,然后我们将着手解决。问题陈述 - 给定两个字符串 s……
阅读 3 分钟
简介:在本文中,我们将讨论 patch.object python。我们编写的软件大部分时间都直接与我们称之为“脏”服务的服务进行交互。简而言之,对应用程序很重要的服务,但其交互具有预期但不受欢迎的副作用,即,服务…
阅读 3 分钟
什么是排序?排序是用于以特定顺序排列数据的技术。它按升序或降序排列数值数据。它用于以一种更易于理解的简单方式表示数据。基于此,开发了各种算法...
阅读 6 分钟
Python 是一种流行的、广泛应用于各个行业和领域的、高级编程语言,从 Web 开发到科学计算。Python 的众多模块之一是 contextvars 模块,该模块在 Python 3.7 中引入。contextvars 模块提供了在 Python 中管理上下文局部状态的方法。这意味着...
5 分钟阅读
如果一个数的平方的最后几位与这个数本身相同,那么这个数就被称为自守数。以下是自守数的例子:1. 输入:25 输出 - 是的,它是一个自守数。原因 - 25 的平方是 625,...
阅读 3 分钟
在下面的教程中,我们将学习如何借助 Python 编程语言的 Tkinter、OS 和 Shutil 模块构建一个基于 GUI 的文件浏览器。这个项目适合初学者,我们所需要的只是与所有这些模块相关的一些简要知识...
34 分钟阅读
什么是FTP(文件传输协议)?FTP(文件传输协议)是一种网络协议,用于在计算机之间通过传输控制协议或协议/互联网协议(TCP/IP)关联发送记录。在TCP/IP套件中,FTP被视为应用层协议。在FTP交换中,终端...
阅读 8 分钟
Python中的算法 算法超越了计算思维。它是一个分步过程,指定了一系列命令,这些命令以特定顺序执行以获得预期结果。简单地说,算法是旨在解决问题的任何一段代码...
14 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India