使用IRONPDF FOR PYTHON

如何在 Python 中从 PDF 中提取发票数据

本文将讨论如何使用 IronPDF 库为 Python 从发票 PDF 文件中提取文本数据。

如何在Python中从PDF提取发票数据

  1. 安装用于从PDF发票中提取数据的Python库。

  2. 利用PdfDocument.FromFile方法打开 PDF 文件。

  3. 使用ExtractAllText方法从发票中提取所有数据。

  4. 使用print方法打印从发票中提取的所有数据。

  5. 从发票数据中提取特定数据。

1. IronPDF

IronPDF for Python 是一个强大的库,它使用 Python 作为桥梁连接 Python 应用程序和 PDF 文档。 这款多功能工具为开发人员提供了在其Python项目中轻松创建、操作和交互PDF文件的方法。 以下是使IronPDF成为有价值资产的一些突出功能:

  1. PDF生成: IronPDF支持从零开始动态生成PDF文件,允许开发人员以编程方式创建具有自定义内容、样式和布局的PDF。

  2. HTML 转 PDF 转换: 它可以将 HTML 内容(包括网页)转换为高质量的 PDF,保留原始 HTML 的布局和样式,这对于生成报告和文档特别有用。

  3. PDF编辑: 开发人员可以通过添加、修改或删除文本、图像和交互元素轻松编辑现有PDF,使其成为强大的文档处理工具。

  4. PDF合并和拆分:IronPDF允许您将多个PDF文档合并为一个文件或将一个PDF拆分为多个文件,从而提供管理大量PDF文件的灵活性。

  5. PDF表单: 支持创建和填写交互式PDF表单,非常适合需要用户输入和数据收集的应用程序。

  6. 数字签名: 你可以在PDF文档中添加数字签名,以确保文件的完整性和真实性,这对法律和安全目的至关重要。

  7. PDF数据提取: IronPDF提供了提取功能,以保护PDF中的信息。

2. 设置环境

在Python中设置IronPDF环境涉及几个步骤,以确保您可以有效地开始使用该库。 以下是逐步指南:

  1. 在 PyCharm 中创建一个新的 Python 项目,并创建一个虚拟环境或使用现有的解释器。

  2. 在命令行终端中运行以下命令来安装IronPDF:
pip install ironpdf

如何在 Python 中从 PDF 提取发票数据,图 1:从命令行安装 IronPDF

IronPDF 从命令行安装

3. 使用 IronPDF 从发票中提取数据

本部分将展示如何使用Python库IronPDF从发票格式中提取数据并输出格式。 以下代码将从发票中提取所有数据并在控制台打印。

示例发票

如何从 PDF 中提取发票数据(Python),图 2: 示例发票

示例发票

from ironpdf import *

pdf = PdfDocument.FromFile("INV_2022_00001.pdf")
all_text = pdf.ExtractAllText()
print(all_text)
python
PYTHON

上述代码使用PdfDocument.FromFile方法加载名为“INV_2022_00001.pdf”的特定 PDF 文件。 随后,它从加载的PDF文档中提取所有文本内容,并将其存储在变量all_text中。 最后,提取的文本使用 print 函数打印到控制台。 基本上,这段代码自动化从 PDF 文件中提取结构化数据和非结构化数据的过程,使其在 Python 环境中可供进一步处理或分析。

3.1. 输出

如何在 Python 中从 PDF 中提取发票数据,图 3:从发票中提取的文本输出到控制台

发票输出到控制台的文本

4. 从发票中提取特定数据

使用IronPDF发票数据提取是一个相当简单的过程,如我们在上面的例子中所见。 从PDF发票数据中提取数据,例如发票编号和金额,可能是一个棘手的过程,但是使用IronPDF并结合Python开源库re,可以实现。 以下代码将从 PDF 发票中提取数据并在控制台中打印。

from ironpdf import *
import re

invoice_number_pattern = r"Invoice\s+(INV/\d{4}/\d{5})"
amount_pattern = r"Total\s+\$\s*([\d,.]+(?:\.\d{2})?)"
pdf = PdfDocument.FromFile("INV_2022_00001.pdf")
all_text = pdf.ExtractAllText()
invoice_number_match = re.search(invoice_number_pattern, all_text)
amount_match = re.search(amount_pattern, all_text)
invoice_number = invoice_number_match.group(1)
if invoice_number_match else "Not found"
amount = amount_match.group(1) if amount_match else "Not found"
print('Invoice Number:' + invoice_number + '\n Amount:$' + amount)
python
PYTHON

以下代码片段使用Python和IronPDF库从PDF文档中提取数据。 首先,导入必要的库并定义正则表达式模式,用于识别PDF文本内容中的发票号码和总金额。 然后,代码加载目标PDF,提取其所有文本,并继续搜索定义模式的匹配项。

如果找到匹配项,它会存储对应的发票号码和值; 否则,将其分配为“未找到”。 最后,该脚本和输出文件将在控制台上打印提取的发票编号和金额输出,提供了一种简化的方法来自动化从PDF文档中提取特定数据的过程,这在各种数据处理和会计应用程序中是常见的任务。

4.1. 输出

如何在 Python 中从 PDF 中提取发票数据,图 4:输出文本

输出文本

结论

在当今快节奏的商业环境中,Python 作为强有力的盟友,为那些希望通过自动化提取 PDF 发票中的关键数据来简化财务操作的组织提供支持。 利用Python的功能和IronPDF库,企业可以显著减少手动数据输入,减少错误,节省时间,并在管理发票的会计流程中提高整体效率。 IronPDF 拥有多种功能,如 PDF 生成、HTML 转 PDF 转换、PDF 编辑、合并、拆分、表单处理、数字签名和精确的数据提取,是这些任务的强大工具。

通过遵循简单的设置程序,Python开发人员可以快速将IronPDF集成到他们的项目中,彻底改造他们的发票处理工作流程,使从发票中提取数据的过程变得无缝且高效。 可以从详细代码示例中找到使用IronPDF进行数据提取的代码示例。 关于使用IronPDF for Python进行数据提取的完整教程,请访问以下Python教程,关于使用C#进行发票提取,请访问IronOCR教程

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。
< 前一页
如何在 Python 中解析 PDF 文件
下一步 >
如何在Python中将图像转换为PDF

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

查看许可证 >