如何在 Python 中從 PDF 中提取發票資料
本文將討論如何使用 IronPDF 程式庫從發票PDF檔案中提取文字資料。
如何在Python中從PDF中提取發票資料
- 安裝用於從PDF發票中提取資料的Python程式庫。
- 使用
PdfDocument.FromFile方法打開PDF檔案。 - 使用
ExtractAllText方法從發票中提取所有資料。 - 使用
print方法列印從發票中提取的所有資料。 - 從發票資料中提取特定資料。
1. IronPDF
IronPDF for Python 是一個強大的程式庫,使用Python作為Python應用程式與PDF文件之間的橋樑。 這個多功能工具為開發者提供了在Python專案中輕鬆建立、操作和操作PDF文件的方法。 以下是使IronPDF成為一個有價值資產的一些突出功能:
- PDF生成: IronPDF 支援從頭開始動態生成PDF文件,允許開發者以程式方式建立具有自訂內容、樣式和佈局的PDF。
- HTML到PDF轉換: 可以將HTML內容,包括網頁,轉換為高質量的PDF,保留原始HTML的佈局和樣式,這對於生成報告和文件特別有用。
- PDF編輯: 開發者可以輕鬆編輯現有的PDF,如新增、修改或移除文字、圖片和互動元素,使其成為一個強大的文件操作工具。
- PDF合併和分割: IronPDF 允許您將多個PDF文件合併為一個文件或將PDF分割為多個文件,提供在管理大量PDF時的靈活性。
- PDF表單: 它支援建立和填寫互動式PDF表單,這對於需要使用者輸入和資料收集的應用程式非常理想。
- 數位簽名: 可以為PDF文件新增數位簽名,確保您的文件的完整性和真實性,這對於法律和安全目的至關重要。
- 從PDF中提取資料: IronPDF 提供提取功能來保護PDF中的資訊。
2. 設定環境
在Python中為IronPDF設置環境涉及幾個步驟,以確保您可以有效地使用該程式庫。 以下是一個逐步的指南:
- 在PyCharm中建立一個新的Python專案並建立一個虛擬環境或使用現有的解釋器。
- 通過在命令行終端中運行以下命令來安裝IronPDF:
pip install ironpdf
從命令行安裝IronPDF
3. 使用IronPDF從發票中提取資料
本節將了解如何使用Python庫IronPDF從發票格式和輸出格式中提取資料。 下面的程式碼將從發票中提取所有資料並在控制台中列印出來。
範例發票
範例發票
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)上述程式碼使用PdfDocument.FromFile方法載入了一個名為"INV_2022_00001.pdf"的特定PDF文件。 隨後,從載入的PDF文件中提取所有文字內容並將其儲存在變數all_text中。 最後,使用print函式將提取的文字列印到控制台。 基本上,此程式碼自動化了從PDF文件中提取結構化和非結構化文字資料的過程,使其可以在Python環境中進行進一步的處理或分析。
3.1. 輸出
輸出到控制台的發票文字
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和IronPDF程式庫從PDF文件進行資料提取。 它首先導入所需的程式庫,並定義正則表達式模式以識別PDF文字內容中的發票號碼和總金額。 然後,程式碼載入目標PDF,提取其所有文字,並進而搜尋定義模式的匹配項。
如果找到成功的匹配項,則儲存相應的發票號和金額值; 否則,它將分配"未找到"。 最後,腳本將提取的發票號和金額列印到控制台,提供了一種自動化從PDF文件中提取特定資料的簡潔方式,這在各種資料處理和會計應用程式中常常遇到。
4.1. 輸出
輸出文字
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操作(包括生成、轉換、編輯和資料提取)方面的全面能力而被認為非常強大,這些功能對開發者至關重要。









