使用IRONPDF FOR PYTHON

如何逐行提取PDF文本

更新 2024年九月28日
分享:

本指南将展示在Python中使用IronPDF顺序提取PDF文档文本的细微差别。 它将涵盖从设置Python环境到执行第一个用于PDF文本提取的Python程序的所有内容。

如何逐行提取PDF中的文本

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

  2. 在您偏好的IDE中创建一个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 --version。 此命令应打印出已安装的Python版本,以确认安装成功。

更新 pipPip 是 Python 的包安装工具。 确保通过运行 pip install --upgrade pip 来保持最新。

在 Visual Studio Code 中创建一个新的 Python 项目

下载 Visual Studio Code:如果您没有它,请从官方网站.

安装Python扩展:打开Visual Studio Code并进入扩展市场。 搜索由微软提供的Python扩展并安装。

创建新文件夹:创建一个新文件夹来存放您的Python项目。 将其命名为与其内容相关的名称,例如 PDF_Text_Extractor

在 VS Code 中打开文件夹:将文件夹拖入 Visual Studio Code 中,或者使用 文件 > 打开文件夹 选项来打开文件夹。

创建一个Python文件:在VS Code资源管理器面板中右键点击并选择新文件。 将文件命名为main.py或类似的名称。 此文件将保存您的Python程序。

如何逐行提取PDF中的文本,图1:在Visual Studio Code中创建新的Python文件

在 Visual Studio Code 中创建新的 Python 文件

IronPDF库的需求与设置

IronPDF 对从 PDF 中提取文本内容至关重要。 以下是安装方法:

在 VS Code 中打开终端:您可以通过导航到 终端 > 新终端 在 VS Code 中打开终端。

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

pip install ironpdf

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

如何逐行从PDF中提取文本,图2:安装IronPDF包

安装 IronPDF 包

就是这样。! 您现在已经成功设置了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函数用于此,通过将文件模式设置为“write”("w "). 只需将encoding='utf-8'作为参数添加到open函数中。 此功能应允许文本文档处理您遇到的 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

在这里,代码遍历每行,将其打印到控制台,并通过添加换行符将其写入文件。(\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
            # Write each line to the text documents
            text_file.write(eachline + '\n')
PYTHON

输出

在 Visual Studio Code 终端中输入以下命令运行 Python 文件:

python main.py

此结果将显示在终端上:

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

提取的文本

这是从PDF文件中检索到的文本。您还会注意到在您的目录中创建了一个文本文件。

如何逐行从PDF中提取文本,图4:提取的文本存储在TXT文件中

提取的文本存储在TXT文件中

在此文本文件中,您将找到依次呈现的已检索文本格式。

如何逐行从PDF提取文本,图5:提取的文本文件内容

提取的文本文件内容

结论

总之,使用IronPDF和Python从PDF文件中提取文本是一种强大且简单的方法,无论是从整个文档、特定页面,还是逐行提取文本。将获取的文本保存到文本文件中的附加好处使您能够高效地管理和利用数据以用于将来的处理。 IronPDF在处理PDF方面被证明是一个非常有价值的工具,提供的不仅仅是文本提取的多种功能。 您还可以用 Python 将 PDF 转换为文本使用 IronPDF。

此外,创建交互式PDF、填写和提交交互式表单, 合并划分PDF文件,提取文本和图像在 PDF 文件中搜索文本将PDF光栅化为图像更改字体大小、边框和背景颜色,以及转换PDF文件,都是IronPDF工具包可以帮助完成的任务。

IronPDF不是开源的Python库。 如果您正在考虑将IronPDF用于您的项目,该软件包的许可证起价为$749。 但是,如果您需要澄清有关投资的信息,IronPDF提供一个免费试用深入探索其功能。

如何逐行从PDF提取文本,图6:许可页面

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

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

免费 pip 安装 查看许可证 >