與其他組件比較

IronOCR和Nanonets OCR的比較

發佈 2023年5月8日
分享:

光學字符識別 (光學字符識別) 提供將圖像文件轉換為機器編碼文本的能力。這在當前非常有用,因為掃描文件通常保存為圖像文件,而這些圖像文件中的數據無法通過普通的文本編輯器甚至文字處理應用程序來搜索、編輯或保存為文本格式。OCR處理有助於將這些圖像轉換為機器可讀的文本,供用戶進一步處理。

在這個現代時代,通過互聯網共享的文件通常是數字格式的,大多數是PDF或圖像。有許多在線資源可以將圖像轉換為文本。然而,大多數業務需求這種功能嵌入在他們的軟件應用程序中。考慮到這一點,有許多庫提供可嵌入軟件應用程序中的OCR處理技術。

在本文中,我們將討論兩個最流行的用於C#的OCR庫。这兩個是:

  • IronOCR
  • Nanonets OCR API

介紹

IronOCR - C# 函式庫

IronOCR .NET 是一個 C# 庫,讓用戶能夠掃描、搜尋和讀取圖像及 PDF 文件。它以圖像或 PDF 文件作為輸入,並使用最新的 Tesseract 5 為 .NET 客製化的 OCR 引擎來輸出文本、結構化數據或可搜尋的 PDF 文件。Tesseract 支持超過 125 種語言,並且 IronOCR 提供跨平台支持於 .NET Core 和 Standard,自 2.0 至 7。

IronOCR 是一個用戶友好的 API,允許 C# 開發者使用 IronTesseract 類自動將圖像轉換為文本。該庫優先考量速度、精確度和易用性。

IronOCR 的另一個強大功能是能夠從所有圖像文件中掃描條碼和 QR 碼並讀取其文本。以下列出 IronOCR 的其他重要功能。

功能

  • 國際語言: 支援超過127種語言和自定義語言。
  • 文字和條碼讀取: 同時讀取多種語言的文字和數字。
  • 專業文件: 從專業文件如收據、支票和發票中讀取文字。
  • 從多種格式讀取: 從圖像中讀取 (PNG、JPG、GIF、TIFF、BMP), System.Drawing Objects、流、PDF文件等。
  • 預處理功能: 包括預處理功能如篩選器嚮導、圖像校正、方向校正和顏色校正。
  • 簡單數據輸出: 以.NET文本字符串、條碼、QR碼和圖像格式輸出。

現在,讓我們來看看Nanonets OCR API。

Nanonets OCR API

Nanonets OCR API 是一個 REST API,提供即時數據提取,針對您的業務需求進行自動化工作流程。OCR API 由 AI 驅動,能夠在幾秒鐘內安全地捕獲、分類和提取非結構化文檔中的數據。通過使用 Nanonets,您可以自動化手動數據輸入,減少所需的手動工作量。

Nanonets 使用機器學習來理解文檔,即使那些不遵循標準模板的文檔也是如此。您可以上傳任何非結構化文檔,並根據不同的字段捕獲所需的資訊。與傳統 OCR 不同,Nanonets OCR 模型可以進行培訓以獲得更好的結果。隨著您的業務增長,Nanonets 智能文檔處理 OCR 模型也會隨著每一個新文檔增長和學習,提供快速和準確的結果。

此外,Nanonets 提供了一個 Python 套件,使您可以輕鬆地在 Python 應用程序中進行整合和數據捕獲,而不需要 API 請求。其他功能包括:

  • 符合 GDPR 法規
  • 自動數據捕獲
  • 提取數據的驗證
  • 模型培訓和重新培訓功能
  • 快速的 API 響應時間
  • 本地部署,支持多種語言
  • 持續的 AI 學習模型
  • 無需設置模板
  • 提供多種導出選項

文章的其餘部分如下:

  1. 創建 Visual Studio 專案
  2. 安裝 IronOCR
  3. 安裝 Nanonets OCR API
  4. 圖像轉文字
  5. 條碼和 QR 碼轉文字
  6. PDF 轉文字
  7. 許可
  8. 結論

1. 創建 Visual Studio 專案

在本教程中,我們將使用最新版的 Visual Studio 2022。如果您尚未下載並安裝,可以從 Visual Studio 網站現在,我們需要建立一個控制台專案來開始使用這兩個庫。請按照以下步驟創建一個專案:

  • 打開你的 Visual Studio 2022。
  • 點擊建立新專案。

    IronOCR 與 Nanonets OCR 的比較:圖 1

  • 從給定的選項中選擇 C# Console Application。

    IronOCR 與 Nanonets OCR 的比較:圖 2

  • 將您的新專案配置名稱和位置。例如,將其命名為 "OCRProject"。
  • 點擊下一步。

    IronOCR與Nanonets OCR的比較:圖3

  • 在附加信息中,選擇 .NET 6.0 Framework,因為它是最穩定的版本。

    IronOCR 與 Nanonets OCR 的比較:圖4

  • 現在,點選「Create」,專案將會在您指定的位置創建。

接下來,我們將在專案中安裝庫以進行比較。

2. 安裝 IronOCR

有多種方式可以安裝 IronOCR 庫。我們來逐一查看這些方法。

2.1. 使用 Visual Studio NuGet 套件管理器

NuGet 是用於在您的項目中下載和安裝依賴項的套件管理器。其套件包含已編譯的代碼和 (DLLs) 並訪問清單檔案。使用以下方法存取:

  • 點擊工具選項卡。
  • 展開NuGet套件管理器選項。
  • 點擊管理解決方案的NuGet套件。

    IronOCR 與 Nanonets OCR 的比較:圖 5

或者:

  • 右鍵單擊方案總管。
  • 點擊管理 NuGet 套件。

    IronOCR與Nanonets OCR比較:圖6

現在,NuGet 套件管理器視窗將會打開。瀏覽 IronOCR 並點擊安裝。

IronOCR 與 Nanonets OCR 的比較:圖 7

2.2. 從 NuGet 網站下載

IronOCR 也可以直接從 NuGet 官方網站下載。請按照以下步驟操作:

  1. 點擊鏈接:“ ”。
  2. 點擊頁面右側的“下載套件”選項。
  3. 打開下載的套件,它將開始安裝。
  4. 最後,重新加載解決方案,即完成。

2.3. 使用IronOCR網頁下載

只需訪問Iron Software網站並導航到IronOCR for .NET網頁。滾動到頁面底部並點擊下載DLL或下載Windows安裝程式。

IronOCR 與 Nanonets OCR 的比較:圖 8

將會下載一個zip檔案。解壓縮專案文件或執行Windows安裝程式。請遵循以下步驟將其新增到您的專案中。

  1. 在解決方案管理器中,在Visual Studio的專案相依性上右鍵點擊。

  2. 然後,選擇“新增專案參考”選項。

  3. 瀏覽下載的DLL檔案位置。

  4. 最後,點擊“確定”以新增專案參考。

2.4. 在 Visual Studio 中使用命令提示符

  1. 導航到 Visual Studio 中的工具選項卡。
  2. 展開 NuGet 套件管理器選項。
  3. 選擇套件管理器控制台並輸入以下命令:
Install-Package IronOcr

這將自動下載並安裝 IronOCR 到您的項目中。

現在,我們準備好在項目中使用 IronOCR。

2.5. 添加必要的 IronOCR 命名空間

只需添加一個命名空間,即可在需要訪問 IronOCR 功能的源代碼文件頂部進行添加。

using IronOcr;
using IronOcr;
Imports IronOcr
VB   C#

現在,讓我們安裝Nanonets OCR API。

3. 安裝 Nanonets OCR

以下是修改後的段落:

Nanonets 可以通過多種方式來捕獲數據。它提供了一個線上 OCR 功能,可以用於即時數據提取,從而縮短周轉時間。作為一個 REST API,它可以集成到多種編程語言中。在此,我們將演示如何將其集成到 C# 編程語言中。

要使用 Nanonets OCR API 在 C# 中自動捕獲數據,您需要以下內容:

  1. 註冊 Nanonets - 您可以使用 Gmail 帳戶或已註冊的電子郵件在 Nanonets 上註冊免費試用。

  2. 創建一個 OCR 模型 - 這將生成一個模型 ID,該 ID 將在稍後進行 API 調用時使用。

  3. 獲取免費的 API 金鑰 - 移至“帳戶信息”選項卡並點擊“API 金鑰”。在這裡,您可以添加新的鑰匙或使用已存在的鑰匙。

3.1. 添加 RestSharp 命名空間

RestSharp 是一個簡單的適用於 .NET 的 Rest 和 HTTP 客戶端庫。它用於發送和接收 API 請求並處理響應。由於 Nanonets API 也是一個 REST API,因此需要該庫來執行 Nanonets API 代碼。

要安裝 RestSharp,打開解決方案的 NuGet 套件管理器,搜索 RestSharp 並安裝它。或者,你可以打開套件管理器控制台並鍵入以下命令:

PM> Install-Package RestSharp

現在,一切都設置完畢,可以使用了。

4. 圖像轉文字

從圖像中讀取數據可能是相當繁瑣的工作。圖像的解析度和質量在提取內容時起著重要作用。IronOCR 和 Nanonets 都提供光學字符識別功能,從圖像中提取文本。

4.1. 使用 IronOCR

IronOCR 讓開發者能夠非常輕鬆地 讀取圖像文件的內容 使用強大的 IronTessaract 類。我們將使用以下代碼從 PNG 圖像文件中讀取文本:

var Ocr = new IronTesseract();
using (var Input = new OcrInput()){
  Input.AddImage("test-files/employmentapp.png");
  var Result = Ocr.Read(Input);
  Console.WriteLine(Result.Text);
}
var Ocr = new IronTesseract();
using (var Input = new OcrInput()){
  Input.AddImage("test-files/employmentapp.png");
  var Result = Ocr.Read(Input);
  Console.WriteLine(Result.Text);
}
Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
  Input.AddImage("test-files/employmentapp.png")
  Dim Result = Ocr.Read(Input)
  Console.WriteLine(Result.Text)
End Using
VB   C#

輸入圖片

IronOCR與Nanonets OCR的比較:圖9

輸出

IronOCR 與 Nanonets OCR 的比較:圖 10

IronOCR 的輸出與提供給它的原始圖像相匹配。代碼簡潔且易於理解,沒有任何技術性問題。

4.2. 使用Nanonets OCR

Nanonets還提供從圖像中提取文字的功能。為此,需要使用認證密鑰進行API調用,然後將圖像上傳到Nanonets伺服器。快速的OCR工具將提取的文字作為回應返回給應用程式。以下是代碼示例:

var client = new RestClient("https://app.nanonets.com/api/v2/OCR/FullText");
client.Timeout = -1;
var request = new RestRequest(Method.Post.ToString());
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddFile("file", "FILE_PATH");
RestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
var client = new RestClient("https://app.nanonets.com/api/v2/OCR/FullText");
client.Timeout = -1;
var request = new RestRequest(Method.Post.ToString());
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddFile("file", "FILE_PATH");
RestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Dim client = New RestClient("https://app.nanonets.com/api/v2/OCR/FullText")
client.Timeout = -1
Dim request = New RestRequest(Method.Post.ToString())
request.AddHeader("Authorization", "Basic " & Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")))
request.AddFile("file", "FILE_PATH")
Dim response As RestResponse = client.Execute(request)
Console.WriteLine(response.Content)
VB   C#

IronOCR 與 Nanonets OCR 的比較: 圖 11

輸出不是完美的。圖像包含結構化數據,只有部分數據正確提取。對於另一個簡單的文本圖像,輸出是正常的。請注意,該模型可以進行訓練以獲得更準確的結果。

5. 條碼和 QR 碼轉換文字

5.1. 使用 IronOCR

IronOCR 提供一個讀取影像的實用功能,包括檢測和讀取條碼和 QR 碼的能力。要啟用此功能,請在處理影像之前將 ReadBarcodes 配置屬性設置為 true。OCR 處理完成後,遍歷 OCR 結果以提取每個檢測到的條碼的值。以下是使用 IronOCR 讀取條碼的範例代碼片段:

var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
using (var input = new OcrInput()) {    
input.AddImage("test-files/Barcode.png");    
var Result = Ocr.Read(input);    
  foreach (var Barcode in Result.Barcodes){
          Console.WriteLine(Barcode.Value);
  }
}
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
using (var input = new OcrInput()) {    
input.AddImage("test-files/Barcode.png");    
var Result = Ocr.Read(input);    
  foreach (var Barcode in Result.Barcodes){
          Console.WriteLine(Barcode.Value);
  }
}
Dim Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True
Using input = New OcrInput()
input.AddImage("test-files/Barcode.png")
Dim Result = Ocr.Read(input)
  For Each Barcode In Result.Barcodes
		  Console.WriteLine(Barcode.Value)
  Next Barcode
End Using
VB   C#

輸入圖片

輸出

輸入圖像中的三個條碼都被成功讀取,並顯示其隱藏的文字。

5.2. 使用 Nanonets OCR

Nanonets OCR API 提供檢測 QR 碼的功能。但是,此功能僅在企業方案中提供,您需要聯絡銷售部門才能使用。此外,Nanonets 還允許您檢測文件或收據的特定部分。它還提供應付賬款、發票處理和會計自動化等其他功能。

6. 將 PDF 轉換為文字

6.1. 使用 IronOCR

使用 IronOCR 閱讀 PDF 文件與閱讀圖像文件一樣簡單。唯一需要改變的是在閱讀圖像的程式碼中使用 AddPDF 方法,而不是 AddImage 方法。程式碼如下:

var Ocr = new IronTesseract();
using (var Input = new OcrInput()) {
  Input.AddPdf("test-files/example.pdf");
  var Result = Ocr.Read(Input);
  Console.WriteLine(Result.Text);
}
var Ocr = new IronTesseract();
using (var Input = new OcrInput()) {
  Input.AddPdf("test-files/example.pdf");
  var Result = Ocr.Read(Input);
  Console.WriteLine(Result.Text);
}
Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
  Input.AddPdf("test-files/example.pdf")
  Dim Result = Ocr.Read(Input)
  Console.WriteLine(Result.Text)
End Using
VB   C#

提取的文本格式與 PDF 文件相同。

6.2. 使用 Nanonets OCR

從 PDF 文件中讀取數據也可以使用 Nanonets OCR API。該代碼與圖像文字檢測代碼幾乎相同,只是請求中使用的 URL 不同。我們來看看代碼:

var client = new RestClient("https://app.nanonets.com/api/v2/OCR/Model/{{model_id}}/LabelFile/?async=false");
var request = new RestRequest(Method.Post.ToString());
request.AddHeader("authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddHeader("accept", "Multipart/form-data");
request.AddFile("file", "test-files/example.pdf");
RestResponse response = client.Execute(request);
Console
var client = new RestClient("https://app.nanonets.com/api/v2/OCR/Model/{{model_id}}/LabelFile/?async=false");
var request = new RestRequest(Method.Post.ToString());
request.AddHeader("authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddHeader("accept", "Multipart/form-data");
request.AddFile("file", "test-files/example.pdf");
RestResponse response = client.Execute(request);
Console
Dim client = New RestClient("https://app.nanonets.com/api/v2/OCR/Model/{{model_id}}/LabelFile/?async=false")
Dim request = New RestRequest(Method.Post.ToString())
request.AddHeader("authorization", "Basic " & Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")))
request.AddHeader("accept", "Multipart/form-data")
request.AddFile("file", "test-files/example.pdf")
Dim response As RestResponse = client.Execute(request)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Console
VB   C#

在上述代碼中,用您的 OCR 模型 ID 替換 model_id。此外,將 API 金鑰替換為您自己的 API 金鑰。然後,將 PDF 文件路徑替換為您自己的文件路徑。

輸出類似於IronOCR,但Nanonets OCR的輸出會包含額外的空格和換行。

7. 授權

IronOCR 可免費用於開發用途,但商業用途需要授權。它還提供免費試用版,讓您測試所有潛在功能以符合您的需求。輕量套餐起價為 $749,並提供30天退款保證。IronOCR 提供一年免費的產品支持和更新服務,之後每年 $399。所有授權均為永久授權,意味著只需一次性購買,沒有隱藏費用。您還可以選擇無版稅的重新分發授權,適用於 SaaS 和 OEM 產品,只需一次性購買 $1999。欲了解更多有關授權套餐和價格計劃的信息,請訪問以下網站 連結.

Nanonets OCR API 提供三種不同的套件。您可以免費註冊其入門套件。前 500 頁免費,之後每頁收費 $0.3。您只需支付您使用的金額。欲了解更詳細的定價信息,您可以訪問此網站 連結.

8. 結論

IronOCR 為 C# 開發者提供了可在大多數平台上使用的高級 Tesseract API。它可以部署於 Windows、Linux、Mac、Azure、AWS 和 Lambda,並支援 .NET Framework 專案以及 .NET Standard 和 .NET Core。IronOCR 還可以在 OCR 掃描中讀取條碼,甚至可以將 OCR 導出為 HTML 和可搜索的 PDF。 有關 C# Tesseract OCR 的更多資訊,請點擊 這裡Nanonets OCR API 提供多種 OCR 工具。它為發票、收據、帳單、表格和身份證等多種文件類型提供現成的 OCR 解決方案,以自動化資料擷取。無需模板設置,沒有隱藏費用,使用 Nanonets OCR API 可節省 90% 的時間並提高 10 倍的生產力。

IronOCR 授權是基於開發者的,這意味著您應該根據將使用該產品的開發者數量來購買授權。Nanonets 的定價計畫是基於要提取信息和分析數據的圖像或 PDF 頁數。專業和企業計劃是按月按模型計算,當模型和頁數增多時,價格會上升,相比於 IronOCR 授權。此外,IronOCR 授權是一次性購買,可終身使用,並且支持 OEM 和 SaaS 分發。

總體比較而言,兩種 API 都提供基於 AI 和 ML 的 OCR 功能。IronOCR 在 Nanonets 之上有輕微的優勢,因為它可以離線使用,甚至對於非結構化文件也能提供更可靠的結果。IronOCR 提供使用自訂訓練數據的功能,並可快速整合以獲得更精確的結果。Nanonets OCR 提供基於關鍵字段訓練模型的功能,如果沒有正確訓練可能難以檢測。此外,IronOCR 提供多語言支持,支持多達 127 種國際語言。

現在,您可以以兩款產品的價格獲得五款 Iron 產品,作為完整的 Iron Suite 的一部分。請訪問此處 連結 探索更多。

IronOCR 也提供了 免費試用 附有退款保證。您可以從這裡下載IronOCR 連結.

< 上一頁
Iris 與 IronOCR 的 OCR 軟體比較
下一個 >
IronOCR與Aspose.OCR的比較

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

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