OCR 工具

發票OCR機器學習(逐步教程)

發佈 2023年9月26日
分享:

在當今快節奏的商業環境中,自動化任務和非結構化數據已成為提高效率和減少人工錯誤的關鍵策略。 其中一項任務是從發票或採購訂單中提取資訊,這個過程傳統上需要大量的人工作業。 然而,隨著機器學習、深度學習模型和光學字符識別的進步,(光學字符識別)軟體技術使企業現在可以使用像 IronOCR 這樣的工具來簡化發票信息提取過程。 在本文中,我們將探討如何利用機器學習和IronOCR來革新發票處理的方式。

了解發票OCR工具

OCR技術已經存在一段時間,但隨著機器學習的出現,其在發票處理和數據提取方面的應用有了顯著提升。 光學字符識別(OCR)是一項技術,能夠將不同類型的文檔(例如包含發票信息的掃描紙質文檔、PDF文件、金融文檔或數碼相機拍攝的輸入圖像)轉換為可編輯和可搜索的數據。 它基本上是通過影像預處理將圖片中的文字轉換成機器可讀的文字。

IronOCR是一個強大的OCR資料庫,基於機器學習算法構建,可以整合到各種應用程式和編程語言中,成為發票處理的多功能工具。 使用IronOCR,企業可以自動提取發票數據,例如發票號碼、日期、供應商詳細資料和各項細目,並具備卓越的準確性。

使用 IronOCR 進行發票 OCR 的好處

使用用於發票處理的IronOCR在組織的財務操作中,如應付賬款,提供許多有助於顯著提高效率和準確性的好處。 讓我們更詳細地探討這些好處:

1. 準確性和降低錯誤率

IronOCR 利用先進的機器學習演算法準確識別和提取發票上的文字。 這將減少資料輸入中的人為錯誤機會,確保關鍵財務資訊被正確記錄。

2. 時間和成本節約

使用 IronOCR 自動化發票處理大幅減少了手動資料輸入所需的時間和資源。 透過優化人員時間和減少對人力的需求,這可以帶來可觀的成本節省。

3. 提高效率

IronOCR 可以快速高效地處理大量發票。 它消除了員工手動輸入每張發票數據的需要,讓他們能夠專注於更具戰略性的任務。

4. 可擴展性

IronOCR 具有可擴展性,隨著您的業務擴展,可以處理越來越多的發票。 您不需要擔心工作負荷增加和邊界框會使您的發票文件處理系統不堪重負。

5. 全球觸及

IronOCR 支援 125 多種語言,使企業能夠處理世界各地供應商和客戶的發票。 無論發票是使用何種語言撰寫,IronOCR 都能準確提取數據。

6. 多格式支持

IronOCR 能夠處理多種格式的發票,包括掃描圖像、基於圖像的 PDF 和基於文本的 PDF。 這種多功能性確保您可以輕鬆處理來自不同來源和格式的發票。

7. 自定義和數據提取

您可以自訂 IronOCR 來提取發票中的特定資料欄位,例如發票號碼、日期、供應商詳細資料和項目資訊。 此級別的客製化功能使您能夠根據您的特定業務需求量身定制解決方案。

8. 符合性和審計追蹤

使用 IronOCR 的自動化發票處理有助於維持準確的記錄並提供審計追蹤。 這對於遵循財務法規和簡化審計流程至關重要。

9. 縮短發票處理週期

IronOCR 的精簡化及自動化特性縮短了處理發票的時間,進而縮短了發票處理週期。 這可以促進更快的供應商付款並改善關係。

10. 增強的數據分析

透過將發票數據轉換為結構化的數位格式,您可以進行更深入的數據分析。 這可以幫助識別趨勢、優化支出並做出明智的財務決策。

實施IronOCR進行發票處理

要實施 IronOCR 進行發票處理,請遵循以下一般步驟:

步驟 1:建立一個新的 C

首先,在您首選的開發環境中創建一個新的 C# 專案或打開現有的專案。(例如,Visual Studio 或 Visual Studio Code). 我正在使用 Visual Studio 2022 整合開發環境(IDE)和主控台應用程式進行此演示。 您可以在任何專案類型中使用相同的實作,例如 ASP.NET Web APIs、ASP.NET MVC、ASP.NET Web Forms 或任何 .NET Framework。

發票光學字符識別 (逐步教程): 圖 1 - C# 專案

第 2 步:透過 NuGet 套件管理器安裝 IronOCR

要在您的專案中使用 IronOCR,您需要安裝 IronOCR NuGet 套件。 以下是操作方法:

  1. 開啟 NuGet 套件管理控制台。 在 Visual Studio 中,您可以在「工具」>「NuGet 套件管理器」>「套件管理器主控台」下找到此項目。

    發票 OCR 機器學習(逐步教程):圖 2 - 套件管理器控制台

  2. 執行以下命令以安裝IronOCR套件:
    :PackageInstall

發票OCR機器學習(逐步教程):圖3 - IronOCR安裝

  1. 等待套件安裝完成。 完成後,您可以在項目中開始使用IronOCR。

步驟 3:在您的 C# 中實現 OCR

現在,讓我們撰寫使用 IronOCR 在發票上執行 OCR 的 C# 代碼。 我們將使用以下範例發票作為本例子。

發票光學字符識別機器學習(逐步教程):圖4 - 樣本發票模板

以下範例程式碼將以發票圖像作為輸入,並從發票中提取數據,如發票號碼、採購訂單等。

string invoicePath = @"D:\Invoices\SampleInvoice.png";
IronTesseract ocr = new IronTesseract();
using (OcrInput input = new OcrInput())
{
    // Add multiple images
    input.AddImage(invoicePath);
    OcrResult result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
string invoicePath = @"D:\Invoices\SampleInvoice.png";
IronTesseract ocr = new IronTesseract();
using (OcrInput input = new OcrInput())
{
    // Add multiple images
    input.AddImage(invoicePath);
    OcrResult result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
Dim invoicePath As String = "D:\Invoices\SampleInvoice.png"
Dim ocr As New IronTesseract()
Using input As New OcrInput()
	' Add multiple images
	input.AddImage(invoicePath)
	Dim result As OcrResult = ocr.Read(input)
	Console.WriteLine(result.Text)
End Using
VB   C#

上述程式碼是一個簡潔的 C# 範例,使用 IronOCR 對單張發票圖片進行光學字符識別 (OCR)。(SampleInvoice.png)然後將擷取的發票數據打印到控制台。 請確保將 invoicePath 變數替換為您特定發票圖像文件的路徑。

發票OCR機器學習 (逐步教程): 圖5 - 發票OCR輸出結果

讓我們同時輸入多張發票並提取其數據。 以下是我們用作輸入的發票目錄。

發票OCR機器學習(逐步教程):圖6 - 發票目錄

以下範例代碼將同時從多份發票中提取文字。

string [] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.png");
IronTesseract ocr = new IronTesseract();
using (OcrInput input = new OcrInput())
{
    foreach (string file in fileArray)
    {
        input.AddImage(file);
    }
    OcrResult result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
string [] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.png");
IronTesseract ocr = new IronTesseract();
using (OcrInput input = new OcrInput())
{
    foreach (string file in fileArray)
    {
        input.AddImage(file);
    }
    OcrResult result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
Dim fileArray() As String = Directory.GetFiles("D:\Invoices\", "*.png")
Dim ocr As New IronTesseract()
Using input As New OcrInput()
	For Each file As String In fileArray
		input.AddImage(file)
	Next file
	Dim result As OcrResult = ocr.Read(input)
	Console.WriteLine(result.Text)
End Using
VB   C#

上述程式碼將從資料夾中獲取所有 PNG 圖像,提取數據,然後資料夾中所有發票的提取資料將在控制台上打印出來。

發票 OCR 機器學習(步驟教程):圖 7 - 提取數據

將提取的數據保存為可搜索的 PDF 發票

以下程式碼將從資料夾中讀取所有圖片,進行資料提取,並將它們保存為單個可搜尋的 PDF 發票。

string [] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.png");
IronTesseract ocr = new IronTesseract();
using (OcrInput input = new OcrInput())
{
    foreach (string file in fileArray)
    {
        input.AddImage(file);
    }
    OcrResult result = ocr.Read(input);
    result.SaveAsSearchablePdf(@"D:\Invoices\Searchable.pdf");
}
string [] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.png");
IronTesseract ocr = new IronTesseract();
using (OcrInput input = new OcrInput())
{
    foreach (string file in fileArray)
    {
        input.AddImage(file);
    }
    OcrResult result = ocr.Read(input);
    result.SaveAsSearchablePdf(@"D:\Invoices\Searchable.pdf");
}
Dim fileArray() As String = Directory.GetFiles("D:\Invoices\", "*.png")
Dim ocr As New IronTesseract()
Using input As New OcrInput()
	For Each file As String In fileArray
		input.AddImage(file)
	Next file
	Dim result As OcrResult = ocr.Read(input)
	result.SaveAsSearchablePdf("D:\Invoices\Searchable.pdf")
End Using
VB   C#

在所有範例中,程式碼幾乎相似,我們只是做了些微的改變來展示不同的使用情境。 輸出 PDF 如下所示:

發票光學字符識別機器學習(逐步教程):圖 8 - PDF 輸出

如此一來,IronPDF 提供了自動化發票處理和文件處理的最簡方式。

從 PDF 發票中提取發票數據

要使用 IronOCR 從 PDF 發票中提取數據,您可以遵循與前一個程式碼範例類似的方法。 IronOCR 能夠處理基於影像和基於文字的 PDF。 以下是一個從 PDF 發票中提取數據的簡單範例:

string [] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.pdf");
IronTesseract ocr = new IronTesseract();
using (OcrInput input = new OcrInput())
{
    foreach (string file in fileArray)
    {
        input.AddPdf(file);
    }
    OcrResult result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
string [] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.pdf");
IronTesseract ocr = new IronTesseract();
using (OcrInput input = new OcrInput())
{
    foreach (string file in fileArray)
    {
        input.AddPdf(file);
    }
    OcrResult result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
Dim fileArray() As String = Directory.GetFiles("D:\Invoices\", "*.pdf")
Dim ocr As New IronTesseract()
Using input As New OcrInput()
	For Each file As String In fileArray
		input.AddPdf(file)
	Next file
	Dim result As OcrResult = ocr.Read(input)
	Console.WriteLine(result.Text)
End Using
VB   C#

上面的程式碼高效地批量處理位於目錄中的多個PDF發票(@"D:\發票\")使用 IronOCR。 它檢索檔案路徑,添加每個 PDF 進行 OCR 處理,合併提取的文本,並將結果打印到控制台。 這種方法簡化了處理大量發票的組織的發票數據提取,提高效率並減少人工工作。

發票 OCR 機器學習(分步教程):圖9 - 提取輸出

結論

總之,機器學習與先進的光學字符識別技術(如IronOCR)的融合正在改變發票處理方式。 本文帶您了解使用IronOCR的過程,展示其顯著優勢。 透過採用IronOCR,企業可以達到更高的準確性,節省時間和金錢,並輕鬆處理各種格式和語言的發票。 消除手動數據輸入不僅提高了效率,還降低了金融交易中發生昂貴錯誤的可能性。 IronOCR 簡化並改進了發票處理工作流程,使其成為希望在當今競爭環境中提升財務運作的企業的明智選擇。 此外,IronOCR 提供了一套強大的功能,包括支持 125+ 種語言、自定義數據提取以及與基於圖像和基於文本的 PDF 的兼容性。

儘管IronOCR的功能集令人印象深刻,但值得注意的是IronOCR 的定價模式旨在滿足各種業務需求,提供靈活的選項免費試用適用於小型企業和大型公司。 無論您是處理少量發票還是管理大量財務文件,IronOCR 都是一個可靠且具成本效益的解決方案。

< 上一頁
如何掃描頁面為文本(初學者教程)
下一個 >
機器學習軟體(供開發人員使用的更新列表)

準備開始了嗎? 版本: 2024.11 剛剛發布

免費 NuGet 下載 總下載次數: 2,698,613 查看許可證 >