跳至頁尾內容
USING IRONPDF FOR PYTHON

如何在 Python 中從 PDF 中提取發票資料

本文將討論如何使用 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的佈局和樣式,這對於生成報告和文件特別有用。
  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從發票格式和輸出格式中提取資料。 下面的程式碼將從發票中提取所有資料並在控制台中列印出來。

範例發票

如何在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在Python中,圖4:輸出文字 輸出文字

5. 結論

在當今快速變化的商業環境中,Python作為組織的強大盟友,在通過自動化從PDF發票中提取關鍵資料以簡化其財務操作方面發揮著重要作用。 利用Python的功能和IronPDF程式庫,企業可以顯著減少手動資料輸入、減少錯誤、節省時間,並提高在管理發票的會計過程中的整體生產率。 IronPDF以其多功能功能,如PDF生成、HTML到PDF轉換、PDF編輯、合併、分割、表單處理、數位簽名和精確的資料提取,成為了這些任務的強大工具。

通過簡單的設置程式,Python開發者可以迅速將IronPDF整合到他們的項目中,革新他們的發票處理工作流,使得發票中的資料提取成為一個無縫且高效的過程。 使用IronPDF進行資料提取的程式碼範例可以在詳細的程式碼範例中找到。 在Python中使用IronPDF進行資料提取的完整教程可以在以下Python教程中找到,而發票提取使用C#,請參閱IronOCR教程

常見問題

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

您可以使用IronPDF的PdfDocument.FromFile方法載入PDF,並使用ExtractAllText方法從文件中檢索所有文字內容。

如何安裝Python的IronPDF?

使用Python套件管理器pip與命令pip install ironpdf來安裝IronPDF。

我可以使用Python從PDF中提取特定資料,如發票號碼嗎?

可以,使用IronPDF結合Python的re庫,您可以定義正則表達式模式以從PDF發票中提取特定資料,如發票號碼和金額。

IronPDF for Python有哪些功能?

IronPDF提供如PDF生成、HTML轉PDF、PDF編輯、合併、拆分、表單處理、數位簽名、資料提取等功能。

IronPDF能將HTML轉換為Python中的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擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

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