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

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

本文將討論如何使用 Python 的IronPDF庫從發票 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 的佈局和樣式,這對於產生報告和文件尤其有用。
  2. PDF 編輯:開發人員可以透過新增、修改或刪除文字、圖像和互動元素輕鬆編輯現有 PDF,使其成為強大的文件操作工具。
  3. PDF 合併與分割: IronPDF可讓您將多個 PDF 文件合併為一個文件或將一個 PDF 拆分為多個文件,從而在管理大量 PDF 時提供靈活性。
  4. PDF 表單:支援建立和填寫互動式 PDF 表單,非常適合需要使用者輸入和資料收集的應用。 6.數位簽名:您可以為 PDF 文件添加數位簽名,確保文件的完整性和真實性,這對於法律和安全目的至關重要。
  5. PDF 資料擷取: IronPDF提供擷取功能,以保護 PDF 中的資訊。

2. 環境搭建

在 Python 中設定IronPDF環境需要幾個步驟,以確保您能夠有效地開始使用該程式庫。 以下是詳細步驟:

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

如何使用Python從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 輸出

如何使用Python從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 輸出

如何使用Python從PDF中提取發票數據,圖4:輸出文字 輸出文字

5. 結論

在當今快節奏的商業環境中,Python 對於那些希望透過自動從 PDF 發票中提取關鍵數據來簡化財務運營的組織來說,是一個強大的盟友。 利用 Python 的功能和IronPDF庫,企業可以大幅減少手動資料輸入,減少錯誤,節省時間,並提高發票管理會計流程的整體效率。 IronPDF具有多種功能,例如 PDF 生成、HTML 轉 PDF、PDF 編輯、合併、分割、表單處理、數位簽章和精確的資料擷取,是完成這些任務的強大工具。

透過簡單的設定步驟,Python 開發人員可以快速將IronPDF整合到他們的專案中,徹底改變他們的發票處理工作流程,並使從發票中提取資料成為一個無縫且有效率的過程。 可以使用IronPDF進行資料擷取的程式碼範例可以從詳細的程式碼範例中找到。 有關使用IronPDF 適用於 Python 進行資料提取的完整教程,請參閱以下Python 教程;有關使用 C# 進行發票提取的教程,請訪問IronOCR教程

常見問題解答

如何使用 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 機器人,結合科技與創意的樂趣。

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我