使用IRONPDF FOR PYTHON

如何逐行提取PDF文本

发布 2023年十一月14日
分享:

从 PDF 文档中提取文本是开发人员经常遇到的一项任务。PDF 文件具有平台独立性和固定的布局格式,因此在共享文档方面很受欢迎。然而,以编程方式从这些 PDF 文件中读取文本可能很棘手。多亏了 Python,许多库都能让这项任务变得轻而易举。IronPDF 就是这些流行的 Python 库中的一个,专为 PDF 操作而设计。

本指南将介绍使用 IronPDF 从 Python PDF 文档中按顺序提取文本的细微差别。我们将介绍从设置 Python 环境到执行第一个用于 PDF 文本提取的 Python 程序的所有内容。

如何从 PDF 逐行提取文本

1.下载并安装 PDF 库,使用 Python 从 PDF 文件行中提取文本。

2.在您喜欢的集成开发环境中创建一个 Python 项目。

3.加载所需的 PDF 文件以检索文本内容。

4.循环浏览 PDF 文件,并使用内置库的功能按顺序提取文本。

5.将提取的文本保存到文件中。

IronPDF PDF Python 库

IronPDF 是一个方便的工具,能让你在 Python 中处理 PDF 文件。您可以将其视为一个得力助手,帮助您阅读、创建和编辑 PDF 文件。无论您是要从 PDF 文档中提取内容、添加新信息,还是将网页转换为 PDF 格式,IronPDF 都能为您提供全面的解决方案。这是一款付费软件包,但他们提供试用版,供您在购买前试用。

在深入学习脚本之前,设置 Python 环境至关重要。本分步指南将帮助您配置环境,在 Visual Studio Code 中创建一个新的 Python 项目,并设置 IronPDF 库环境配置。

下载并安装 Python:如果您尚未安装 Python,请从 Python 官方网站.请遵循特定操作系统的安装说明。

检查 Python 安装:打开终端或命令提示符,键入 python --版本。该命令将打印已安装的 Python 版本,确认安装成功。

更新 pippip 是 Python 软件包安装程序。运行 pip install --upgrade pip 确保它是最新的。

在 Visual Studio 中创建新 Python 项目

下载 Visual Studio 代码:如果没有,请从 官方网站.

安装 Python 扩展:打开 Visual Studio Code 并前往扩展市场。搜索 Microsoft 的 Python 扩展并安装。

创建新文件夹:创建一个新文件夹来存放你的 Python 项目。给它起个相关的名字,比如 PDF/_Text/_Extractor

在 VS 代码中打开文件夹:将文件夹拖入 Visual Studio 代码,或使用 文件 > 打开文件夹 菜单选项打开文件夹。

创建 Python 文件:在 VS 代码资源管理器面板上单击右键,选择 新建文件。将文件命名为 main.py 或类似名称。该文件将保存您的 Python 程序。

如何从 PDF 逐行提取文本:图 1

IronPDF 库要求和设置

IronPDF 对于从 PDF 中检索文本内容至关重要。下面介绍如何安装:

在 VS 代码中打开终端:通过终端>新建终端,可以在 VS 代码中打开终端。

安装 IronPDF:在终端执行以下命令安装最新版本的 IronPDF:

 pip install ironpdf

此过程将检索和安装 IronPDF 库以及任何所需的模块。

如何从 PDF 逐行提取文本:图 2

就是这样! 现在您已经成功设置了 Python 环境,在 Visual Studio Code 中创建了一个新项目,并安装了 IronPDF 库。

从 PDF 逐行提取文本

申请许可证密钥

在继续之前,请确保您已申请 IronPDF 许可证密钥。

from ironpdf import PdfDocument
License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
PYTHON

请将此处的 "YOUR-LICENSE-KEY-HERE "替换为实际的 IronPDF 许可证密钥。该许可证允许您为您的项目解锁所有库功能。

加载 PDF 文件格式

您需要将现有的 PDF 文件加载到您的 Python 程序中。您可以使用 IronPDF 中的 PdfDocument.FromFile 方法来实现这一目的。

pdfFileObj = PdfDocument.FromFile("content.pdf")
PYTHON

"content.pdf "指的是您要阅读的 PDF 文件。加载的 PDF 文件存储在 pdfFileObj 变量中,用作 PDF 阅读器或 PDF 文件对象 pdfFileObj

从整个 PDF 文档中提取文本

如果想一次性提取 PDF 文件中的所有文本数据,可以使用 ExtractAllText 方法。

all_text = pdfFileObj.ExtractAllText()
PYTHON

这里使用 ExtractAllText 方法进行演示。该方法可提取 PDF 文件中的所有文本,并将其存储在名为 all_text 的变量中。

从特定 PDF 页面提取文本

IronPDF 可以使用 "ExtractTextFromPage "方法从特定页面提取文本。当你只需要从某些页面提取文本时,这种方法非常有用。

page_2_text = pdfFileObj.ExtractTextFromPage(1)
PYTHON

这里,我们提取的是第二页的文本,对应的索引为 1。

初始化用于写入提取文本的文本文件

with open("extracted_text.txt", "w", encoding='utf-8') as text_file:
PYTHON

我们打开一个名为 "extracted_text.txt "的文件,将文本数据保存在其中。为此,我们使用 Python 内置的 open 函数,将文件模式设置为 "写" ("w ").只需在 open 函数中添加 encoding='utf-8' 作为参数即可。这个函数应该可以让文本文档处理 Unicode 字符,比如你遇到的字符。

循环浏览每一页,逐行提取文本

for i in range(0, pdfFileObj.get_Pages().Count):
PYTHON

我们使用 IronPDF 的 "get_Pages "来循环浏览 PDF 文件中的每一页。().Count`来获取总页数。

提取文本并分割成行

page_text = pdf.ExtractTextFromPage(i)
lines = page_text.split('\n')
PYTHON

对于每一页,我们使用 ExtractTextFromPage 获取所有文本,然后使用 Python 的 split 方法将其分成几行。这样就得到了一个行列表,我们可以循环查看。

将提取的行写入文本文件

for eachline in lines:
    print(eachline)
    text_file.write(eachline + '\n')
PYTHON

在这里,我们遍历行列表中的每一行,将其打印到 doc 控制台,并写入文件。我们添加一个换行符 (\n) 以正确格式化这些文本。

完整代码

下面是全面的实施过程:

from ironpdf import PdfDocument

# Apply your license key
License.LicenseKey = "Your-License-Key-Here"

# Load an existing PDF file
pdfFileObj = PdfDocument.FromFile("content.pdf")

# Extract text from the entire PDF file
all_text = pdfFileObj.ExtractAllText()

# Extract text from a specific page in the file (Page 2)
page_2_text = pdfFileObj.ExtractTextFromPage(1)

# Initialize a file object for writing the extracted text
with open("extracted_text.txt", "w") as text_file:
    # Print number of pages in pdf file print count of pages present in pdf file
    num_of_pages = pdfFileObj.get_Pages().Count
    print("Number of pages in given document are ", num_of_pages)

    # Loop through each page using the Count property
    for i in range(0, num_of_pages):

        # Extract text from the current page
        page_text = pdfFileObj.ExtractTextFromPage(i)

        # Split the text by lines from this page object
        lines = page_text.split('\n')

        # Loop through the lines and print/write them
        for eachline in lines:
            print(eachline)  # Print each eachline to the console
            text_file.write(eachline + '\n')  # Write each line to the text documents
PYTHON

输出

在 Visual Studio Code 终端编写以下命令,运行 Python 文件:

python main.py

结果将显示在终端上:

如何从 PDF 逐行提取文本:图 3

这是从 PDF 文件中提取的文本。你还会发现在你的目录中创建了一个文本文档。

如何从 PDF 逐行提取文本:图 4

在该文本文件中,您将看到已检索到的文本格式,并按顺序排列。

如何从 PDF 逐行提取文本:图 5

结论

总之,使用 IronPDF 和 Python 从 PDF 文件中提取文本是一种强大而直接的方法,无论是从整个文档、特定页面还是逐行提取文本都是如此。将提取的文本保存到文本文件中的额外好处是,您可以有效地管理和利用这些数据,以便将来进行处理。事实证明,IronPDF 是处理 PDF 的重要工具,它不仅提供文本提取功能,还提供一系列其他功能。您还可以 用 Python 将 PDF 转换为文本 使用 IronPDF。

IronPDF 并非开源 Python 库。如果您正在考虑在您的项目中使用 IronPDF,该软件包的许可证起价为 $749。不过,如果您需要澄清投资问题,IronPDF 提供了一个 免费试用 以深入了解其功能。

如何从 PDF 逐行提取文本:图 6

< 前一页
如何在Python中从PDF提取数据
下一步 >
如何使用IronPDF在Python中轻松注释PDF

准备开始了吗? 版本: 2024.9 刚刚发布

免费 pip 安装 查看许可证 >