跳過到頁腳內容
使用 IRONPDF FOR PYTHON

如何在 Python 中從 PDF 中提取發票數據

本文將討論如何使用IronPDF庫在Python中從發票PDF文件提取文本數據。

如何在Python中從PDF提取發票數據

  1. 安裝Python庫以從PDF發票中提取數據。
  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 Merging and Splitting: IronPDF allows you to merge multiple PDF documents into a single file or split a PDF into multiple files, providing flexibility in managing large sets of PDFs.
  5. PDF 表單: 它支持創建和填寫互動式PDF表單,是需用戶輸入和數據收集應用的理想選擇。
  6. 數字簽名: 您可以向PDF文檔添加數字簽名,確保文件的完整性和真實性,這對法律和安全目的至關重要。
  7. PDF數據提取: IronPDF提供提取功能以保護PDF中的信息。

2. 環境設置

在Python中設置IronPDF環境涉及幾個步驟,以確保可以有效地使用該庫。 以下是逐步指南:

  1. 在PyCharm中創建一個新的Python項目並創建虛擬環境或使用現有的解釋器。
  2. 使用命令行終端運行以下命令來安裝IronPDF:
 pip install ironpdf

如何從PDF中提取發票數據,圖1:在終端從命令行安裝IronPDF 在終端從命令行安裝IronPDF

3. 使用IronPDF提取發票數據

本節將展示如何使用Python庫IronPDF從發票格式和輸出格式中提取數據。 下面的代碼將從發票中提取所有數據並將其打印在控制台上。

範例發票

如何在Python中從PDF中提取發票數據,圖2:範例發票 範例發票

from ironpdf import PdfDocument

# Load the PDF using the PdfDocument.FromFile method
pdf = PdfDocument.FromFile("INV_2022_00001.pdf")

# Extract all text from the PDF
all_text = pdf.ExtractAllText()

# Print the extracted text
print(all_text)
from ironpdf import PdfDocument

# Load the PDF using the PdfDocument.FromFile method
pdf = PdfDocument.FromFile("INV_2022_00001.pdf")

# Extract all text from the PDF
all_text = pdf.ExtractAllText()

# Print the extracted text
print(all_text)
PYTHON

上面的代碼使用PdfDocument.FromFile方法加載了一個名為"INV_2022_00001.pdf"的特定PDF文件。 隨後,它從加載的PDF文檔中提取所有文本內容並將其存儲在變量all_text中。 最後,使用print函數將提取的文本打印到控制台上。 本質上,這段代碼自動化了從PDF文件中提取結構化和非結構化文本數據的過程,讓其可在Python環境中進一步處理或分析。

3.1. 輸出

如何從PDF中提取發票數據,圖3:發票文本輸出到控制台 發票文本輸出到控制台

4. 從發票中提取特定數據

使用IronPDF提取發票數據是一個相當簡單的過程。 從PDF發票數據中提取如發票編號和金額等數據可能是個棘手的過程,但使用IronPDF並結合Python開源庫re,可以實現這一目標。 下面的代碼將從PDF發票中提取特定數據並將其打印在控制台上。

from ironpdf import PdfDocument
import re

# Define regex patterns to find invoice number and amount
invoice_number_pattern = r"Invoice\s+(INV/\d{4}/\d{5})"
amount_pattern = r"Total\s+\$\s*([\d,.]+(?:\.\d{2})?)"

# Load the PDF using the PdfDocument.FromFile method
pdf = PdfDocument.FromFile("INV_2022_00001.pdf")

# Extract all text from the PDF
all_text = pdf.ExtractAllText()

# Search for the invoice number and amount in text
invoice_number_match = re.search(invoice_number_pattern, all_text)
amount_match = re.search(amount_pattern, all_text)

# Extract the matching groups if matches are found
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 the extracted data
print('Invoice Number: ' + invoice_number + '\nAmount: $' + amount)
from ironpdf import PdfDocument
import re

# Define regex patterns to find invoice number and amount
invoice_number_pattern = r"Invoice\s+(INV/\d{4}/\d{5})"
amount_pattern = r"Total\s+\$\s*([\d,.]+(?:\.\d{2})?)"

# Load the PDF using the PdfDocument.FromFile method
pdf = PdfDocument.FromFile("INV_2022_00001.pdf")

# Extract all text from the PDF
all_text = pdf.ExtractAllText()

# Search for the invoice number and amount in text
invoice_number_match = re.search(invoice_number_pattern, all_text)
amount_match = re.search(amount_pattern, all_text)

# Extract the matching groups if matches are found
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 the extracted data
print('Invoice Number: ' + invoice_number + '\nAmount: $' + amount)
PYTHON

此代碼片段利用Python和IronPDF庫執行從PDF文檔中提取數據的操作。 它首先導入必要的庫,並為在PDF的文本內容中識別發票號和總金額定義正則表達式模式。 然後,代碼加載目標PDF,提取其所有文本,並深入搜尋定義模式的匹配項。

如果找到了成功匹配,則它存儲相應的發票號和金額的值; 否則,它設置為“未找到”。 最後,腳本將提取的發票號和金額打印到控制台上,這提供了一種流線化的方法來自動化從PDF文檔中提取特定數據,這在許多數據處理和會計應用中常見。

4.1. 輸出

如何從PDF中提取發票數據,圖4:輸出文本 輸出文本

5. 結論

在今天快節奏的商業環境中,Python作為組織尋求通過自動從PDF發票中提取關鍵數據來簡化財務運營的強大助力。 利用Python的功能和IronPDF庫,企業可以顯著減少手動數據輸入,減少錯誤,節省時間,並提高會計過程中處理發票的整體生產力。 IronPDF以其多功能功能,如PDF生成、HTML轉PDF轉換、PDF編輯、合併、拆分、表單處理、數字簽名和準確的數據提取,成為這些任務的強大工具。

通過遵循簡單的設置程序,Python開發者可以迅速將IronPDF集成到其項目中,革新發票處理工作流程,使從發票中提取數據成為一個流暢和高效的過程。 IronPDF數據提取的代碼示例可以在此詳細代碼示例中找到。 The complete tutorial on data extraction using IronPDF for Python is available on the following Python tutorial, and for Invoice Extraction using C#, visit IronOCR tutorial.

常見問題解答

如何使用 Python 從 PDF 發票中提取文本?

您可以使用 IronPDF 的 PdfDocument.FromFile 方法加載 PDF,並使用 ExtractAllText 方法檢索文檔中的所有文本內容。

如何安裝 IronPDF for Python?

使用 Python 包管理器 pip 安裝 IronPDF,命令為 pip install ironpdf

我可以用 Python 從 PDF 中提取特定數據,例如發票號嗎?

是的,通過將 IronPDF 與 Python 的 re 庫結合使用,您可以定義正則表達式模式來從 PDF 發票中提取特定數據,例如發票號碼和金額。

IronPDF for Python 的功能是什麼?

IronPDF 提供功能包括 PDF 生成、HTML 到 PDF 轉換、PDF 編輯、合併、分割、表單處理、電子簽名和數據提取。

IronPDF 可以在 Python 中將 HTML 轉換為 PDF 嗎?

是的,IronPDF 可以將 HTML 內容(包括網頁)轉換為高質量的 PDF,保留原始 HTML 的佈局和樣式。

IronPDF 如何提高發票數據提取的生產力?

IronPDF 自動提取 PDF 發票中的數據,減少手動輸入和錯誤,從而節省時間並提高財務操作的生產力。

可以使用 IronPDF 在 Python 中編輯 PDF 文檔嗎?

是的,IronPDF 允許開發人員通過添加、修改或刪除文本、圖像和互動元素來編輯現有的 PDF。

IronPDF 可以在 Python 中合併或分割 PDF 文檔嗎?

是的,IronPDF 提供功能,可以將多個 PDF 文檔合併為一個文件,或將 PDF 分割為多個文件。

IronPDF 是否支持在 Python 中向 PDF 添加電子簽名?

是的,IronPDF 允許您向 PDF 文檔添加電子簽名,確保文件的完整性和真實性。

為什麼 IronPDF 被認為是 Python 開發人員的強大工具?

IronPDF 被認為功能強大,因為它能夠全面處理各種 PDF 操作,包括生成、轉換、編輯和數據提取,這對於開發人員來說至關重要。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。