與其他組件比較

發票 OCR 開源比較:尋找最佳工具

發佈 2024年2月18日
分享:

介紹

光學字符識別(光學字符識別)現在是處理發票等文件的最重要技術。 它從教育到行業層面,在商業的各個方面都發展了起來。 隨處可見 OCR 軟體的使用,因為它減少了手動數據輸入的使用。 有許多類型的發票 OCR API,開發者可以利用這些 API 開發 OCR 軟體應用程式來處理發票。

本文將探討用於發票處理和其他 OCR 處理的三個 C# 發票 OCR 開源軟體和庫。 我們將討論IronOCR,也(與他們分開),這是開發人員在 C# 專案中整合高級 OCR 功能的最佳付費選擇。 讓我們開始使用開源選項。

Tesseract OCR

Tesseract OCR 最初由惠普開發,現在由谷歌維護,是一個強大的開源 OCR 引擎。它能夠讀取各種文件類型並將其轉換為可用的數據。 它支持多種語言,使其成為全球企業的寶貴資源。

由於其多功能性和提取準確性,C# 開發人員發現 Tesseract OCR 特別有用。 通過將Tesseract整合到他們的軟體應用中,開發人員可以高效處理新的發票,並提取數據和相關信息,如採購訂單和稅款。 我們可以使用提取的數據從 PDF 發票中提取發票號碼和項目。

Tesseract OCR 在 C# 中的功能與特點

在 .NET 應用中的整合:在 C# 專案中,整合 Tesseract OCR 涉及使用 Tesseract .NET SDK 或包裝器,這提供了一種簡化的方式來納入 OCR 功能。 該整合允許開發者在其熟悉的 .NET 環境中工作,確保開發過程順利。

文字識別:Tesseract OCR 擅長從各種圖像格式中識別和提取文本。 它擅長處理各種文件類型,從掃描文件和 PDF 文件到在不同光線條件或角度下拍攝的圖像。

多語言支援:Tesseract 的一大優勢是其支援超過 100 種語言。 這使其成為一個非常多功能的工具,適用於需要處理和分析來自不同語言來源的文本數據的全球應用程式。

自訂和訓練:Tesseract允許開發者使用新字體和語言訓練引擎,提供一個量身訂做的OCR解決方案,以滿足特定的業務需求或文件類型。此功能對於識別專業文檔或不常見字體的文字特別有利。

Emgu CV

發票OCR開源(免費及付費工具比較):圖1 - Emgu CV網頁

Emgu CV C#是OpenCV庫的.NET包裝器。 它幫助開發人員輕鬆地在他們的 C# 專案中使用 OpenCV 的功能。 它為圖像處理、電腦視覺及其他相關領域提供了豐富的工具包。 對於處理發票以提取結構化數據來說,這可能非常有用。

它使用 Tesseract OCR 引擎從圖像和文件中提取文本。 此步驟需要高準確性,因為它是從任何發票提取資料的主要步驟。此包裝器的主要方法是 Tesseract.Recognize。()將圖像中的文字轉換為可編輯和可搜索的數據。 開發者可以提升發票處理工作流程的效率。

Emgu CV 的優勢

跨平台:Emgu CV 在任何支持 .NET 的平台上均可運行,包括 iOS、Android、Mac OS、Linux 和 Windows。

跨語言:除了 C# 之外,Emgu CV 還可以在多種語言中使用,包括 VB.NET、C++ 和 IronPython。 它通過其文件提供廣泛的範例代碼和強大的支援。

At9T

發票光學字符識別開源(免費和付費工具比較):圖 2 - At9T 網頁

At9T,也稱為(a9t9),提供免費的光學字符識別 (OCR)(光學字符識別)軟體應用程式。 此軟體可藉由精美的圖形使用者介面從 PDF 和影像中提取數據。(圖形用戶介面). 它是完全用 C# 語言編寫的。 它提供了一種非常簡單且易於使用的方法,使用其智能文件處理將 PDF 轉換為可搜索的文檔。

其圖形用戶介面協助將市場擴展至希望一鍵解決方案的非開發人員。 此軟體安裝及使用非常簡單。 它可以用於個人和專業用途。 它可以高效地執行許多光學字符識別(OCR)任務。 我們可以上傳 PDF 發票並提取發票數據,如發票日期、項目明細、總計等。您需要上傳並按下按鈕開始 OCR,然後它將開始處理發票。

At9T 的功能

使用者友好的介面:其使用者介面簡單易用。 它的設計旨在簡單易用。 任何沒有經驗的人都可以輕鬆使用。

多語言支持:它支持多種語言,如英語、荷蘭語、日語、韓語等。

批次處理:這款軟體可以同時對多個文件進行OCR。如果您希望從大量文件中提取數據,這將節省時間。

介紹 IronOCR:先進的 OCR 解決方案

發票 OCR 開源 (免費與付費工具比較):圖 3 - IronOCR 網頁

如我們上面所討論的,開源選項有許多困難。 像 Tesseract 很難整合到我們的項目中; 它需要一個包裝器才能使用。 要使用 Emgu CV,您必須了解 OpenCV。否則,對您來說這將是一個艱難的學習過程,而且它也沒有詳盡的文檔。 同時,At9T不適合複雜的文件。

為了解決這些問題並推進OCR解決方案,IronOCR是最佳選擇。 IronOCR 是一個 .NET OCR 函式庫,它擴展了 Tesseract 5 引擎的功能,並增加了更多進階的光學字符識別選項。 與 Tesseract 和其他庫不同,它在 .NET 專案中非常容易整合。

IronOCR 支援多種文件格式,包括 PDF、PNG、JPG、BMP 等。 它支持多種 .NET 框架和平台,包括 Windows、macOS 等。 您可以執行超過127種語言的OCR操作,這使其成為全球OCR產品。 您可以使用其出色的發票 OCR 技術從所有發票格式中提取數據。 IronOCR使用機器學習來實現最佳文本識別。 讓我們來看看IronOCR的主要功能。

IronOCR的主要功能

以下是其主要功能的有序總結:

輸入靈活性: 支援從多種格式讀取,包括圖像(JPG, PNG, BMP)多頁面/框架文件(TIFF,GIF),並優化 DPI 的 System.Drawing 物件、流和 PDF。

進階篩選: 包括篩選精靈、圖像校正等篩選工具一覽(銳化, 分辨率增強, 去噪, 膨脹, 腐蝕)圖像方向校正(旋轉、端正、縮放)色彩校正(二值化, 灰階, 反轉, 替換顏色, 選擇文字顏色)可用於確保在進行OCR之前的最佳影像品質。

區域選擇: 允許通過 CropRectangle 選擇文件的特定區域進行 OCR。

資料輸出: 以.NET文字串、條碼、QR數據和影像的形式提供簡單的資料輸出。

結構化資料: 提供以頁面、區塊、段落、行、單詞和字符形式的結構化資料輸出。

文件匯出: 支援將文件匯出為可搜尋的PDF、HTML,或匯出為頁面、文字、條碼或QR的圖像。

文字高亮與儲存:能夠高亮和儲存字符、單詞、行和段落的功能。

語言和框架: 支援 C#、VB.NET、F#,並且相容於 .NET 8、7、6、5、Core 2x & 3x、Standard 2 和 Framework 4.6.2+。

作業系統: 與 Microsoft Windows、macOS、Linux、Docker、Azure 和 AWS 具有多種相容性。

IDE 支援: 完全支援 Microsoft Visual Studio 及 JetBrains ReSharper & Rider。

範例

以下是使用 IronOCR 從發票中提取數據的範例代碼:

// Create IronOCR Tesseract Instance
IronTesseract tesseract = new IronTesseract();
// Create an OcrInput object
using (OcrInput input = new OcrInput("sample_invoice.png")) // You can directly pass the image path to the constructor
{
    // Read and store OcrResults object
    OcrResult result = tesseract.Read(input);
    // Get all text from the OCR result
    string allText = result.Text;
    // Print to console
    Console.WriteLine(allText);
}
// Create IronOCR Tesseract Instance
IronTesseract tesseract = new IronTesseract();
// Create an OcrInput object
using (OcrInput input = new OcrInput("sample_invoice.png")) // You can directly pass the image path to the constructor
{
    // Read and store OcrResults object
    OcrResult result = tesseract.Read(input);
    // Get all text from the OCR result
    string allText = result.Text;
    // Print to console
    Console.WriteLine(allText);
}
' Create IronOCR Tesseract Instance
Dim tesseract As New IronTesseract()
' Create an OcrInput object
Using input As New OcrInput("sample_invoice.png") ' You can directly pass the image path to the constructor
	' Read and store OcrResults object
	Dim result As OcrResult = tesseract.Read(input)
	' Get all text from the OCR result
	Dim allText As String = result.Text
	' Print to console
	Console.WriteLine(allText)
End Using
VB   C#

以下是我們從發票圖像中提取的輸出數據:

發票 OCR 開源工具(免費和付費工具比較):圖4 - 使用上述代碼從範例發票中提取文字的輸出結果

我們可以使用資料識別進行資料分析,並將其匯出為 CSV 檔案。

結論

總結來說,當我們討論從圖像或文件中讀取文本時,(OCR技術),我們有很多選擇。 Tesseract OCR、Emgu CV 和 At9T 都是人們可以使用的免費工具。 每一個都有自己的優點。

但如果您需要更高級的內容發票OCR,如果符合您的需求,您可以開始購買從 $749 起的授權。

因此,無論您是尋求為項目添加文本閱讀功能的程式設計師,還是希望更好地處理文件的企業,都有許多選擇。 像 Tesseract、Emgu CV 和 At9T 這樣的免費工具是很好的起點。 但是對於更專業的需求,IronOCR 提供了許多先進功能。 關鍵在於選擇適合您特定需求的正確工具。

< 上一頁
Tesseract與Microsoft OCR:全面比較
下一個 >
OCR 軟體試用:探索頂尖選項

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

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