在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
如果您正在尋找有關OCR的信息,您來對地方了。此博客將討論OCR及相關軟件,並檢視它們在OCR相關任務中的表現。讓我們先從一個問題開始:什麼是OCR?
光學字符識別 (光學字符識別) 使用光學掃描儀和專業軟件來識別和數字編碼手寫或印刷文本。電腦可以讀取靜態的文本照片,並使用OCR軟件將它們轉化為可編輯、可搜索的數據。
OCR通常包括三個步驟:在OCR軟件中打開和掃描文件,在OCR軟件中識別文件,以及將OCR生成的文件存儲為您選擇的格式。
今天,我們討論兩款OCR軟件包並比較其優缺點,以及如何在C#中集成和導出它們的SDK。討論中的軟件包是:
LEADTOOLS OCR 來自 LEAD Technologies Inc. 開發和發佈的屢獲殊榮的開發工具包系列。LEADTOOLS 是一組完整的工具包,用於將光柵圖像、文檔、醫療、多媒體和矢量圖像集成到桌面、伺服器、平板電腦和移動應用程序中。文件格式 (150+)圖像壓縮、圖像處理、顏色轉換、顏色處理、圖像顯示、特殊效果、掃描/捕捉、常用對話框、打印、DICOM、PACS、OCR、條形碼、表格識別、PDF、文檔清理、註釋等等,都是 LEADTOOLS 支援的功能。對於使用 LEADTOOLS 工具包的應用程序開發人員來說,數百萬行代碼幾乎觸手可及。LEADTOOLS 是一個工具包,旨在為您提供最強大的圖像技術,不管您的編程需求如何。
LEADTOOLS 是一個綜合性的工具包,可將識別、文件、醫學、圖像和多媒體技術整合到桌面、服務器、平板電腦和移動系統中,並由獨特的人工智能和機器學習算法提供支持。為了改進您的應用程序,為什麼不善用超過30年的圖像開發知識和對150多種文件類型的支援?
LEADTOOLS OCR 類庫提供編程軟件,用於快速且高效地集成文檔光學字符識別。 (光學字符識別) 將技術集成到軟體程式中。程式員可以對文件圖片進行字符識別,並使用 LEADTOOLS OCR Class Library 將識別出的文本輸出到超過 20 種文件格式。
Lead 工具包提供屢獲殊榮的多媒體技術,供終端使用者和開發人員使用,並能夠執行各種 OCR 功能,以滿足其廣泛的客戶需求。
Lead技術引擎為最終使用者提供對多執行緒和基於伺服器的OCR操作的支援。
LeadTools Document SDK 允許用戶在他們的應用程序中創建多個 OCR 文件。每個文件都包含自己的頁面列表。
獲獎的LeadTools技術系列提供超過40種語言的服務,並允許您選擇在識別OCR頁面時使用的語言。
LeadTools OCR 是一個很棒的文檔掃描應用程式,讓終端使用者可以訪問所有支持語言的字典。此外,用戶還可以在一個文檔中訪問多於一本字典。
識別各類文件,包括傳真、影印本和複雜佈局的文件。
經過改進的準確性和速度,LEADTOOLS OCR應用程式能進行光學字符辨識 (光學字符識別) 在圖片上,從照片中提取文字,並將圖像轉換為多種文檔格式。要修改和分享圖片中的文字,請使用OCR提取文字,然後複製。
Lead Technologies 使用人工智慧來改進對相同類型文件的識別——對最終用戶來說是個好消息。
來自獲獎OCR工具包系列的Leadtools Document SDK,公司使用強大的區域識別軟體,將區域識別提升到一個全新的層次。
這是一個高容量、可擴展的 Web API。它的使用者友好介面允許您輕鬆地將強大的 OCR、條碼、MICR 和文件轉換功能合併到任何程式中。
注意:
NuGet 的官方網站顯示,.NET 開發人員更喜歡 IronOCR 而非 LeadTools。LeadTools 有 77.8 K 次下載,而 IronOCR 則超過 320 K 次下載。
IronOCR是一個C#軟體庫,使.NET平台程式設計師能夠從圖像和PDF文件中檢測和讀取文本。這是一個純.NET OCR套件,使用世界上最強大的Tesseract引擎。IronOCR在處理現實世界中的圖像以及有缺陷的文檔(如照片或低解析度、數碼噪音或缺陷的處理)時表現出色。幾乎不需要設置,Tesseract 5 (以及 4 和 3) 在 Windows、macOS、Linux、Azure、AWS、Lambda、Mono 和 Xamarin Mac 上開箱即用。無需處理原生二進制文件。Framework 和 Core 兼容。
IronOCR 支援的語言數量超過任何其他 OCR 引擎,幫助程式設計師創建有意義的圖像並從中提取多媒體數據。IronOCR 支援 125 種國際語言,但只有 英文 是安裝在 IronOCR 標準版本中的。
IronOCR 工具套件提供的服務易於集成、易於處理,比任何其他 OCR 引擎更具互動性。它為 .NET 開發人員提供了解決方案,使他們能夠數字化控制和連接文檔,並按需操作文檔。
IronOCR 提供了一組獨特的功能和特性,可以整合、簽名、匯出、讀取圖形以及從圖像中提取細節,無論用戶的技術背景如何,也無論所使用硬體的複雜程度。
IronOCR SDK 為 OCR 庫的工作準確性提升到了一個全新的水平,得益於其 99.8% 的準確率,遠遠超過其他 OCR 庫。
IronOCR 類別使 C# 開發人員能夠進行細粒度控制。他們提供 OCR (圖片和PDF轉換為文本) 給開發人員的能力和在每一個獨特情況下的精心調整的性能。
在處理實際情況時,可以通過設立變數,在速度和準確性之間達到完美平衡。清除背景噪音、增強對比度、提高解析度、語言、策略、旋轉和校正、色彩空間、檢測黑暗背景上的白色文字和輸入圖像類型只是可用選項中的一部分。
以下是修復低品質掃描前後的圖片示例:
修復前
後
IronOCR 提供 125 多種國際語言的解決方案,幫助世界各地的開發人員。
Iron Tesseract 可以讀取各種圖片類型和 PDF 文件。使用傳統的免費 Tesseract 引擎,此功能是不可能實現的。如果掃描質量較差,OCR 輸入允許您自動修復相關屬性。
OCRInput 類別為 C# 程式設計師提供了對輸入的詳細控制。開發人員接著預處理圖像輸入以提高速度和準確性。這消除了使用 Photoshop 批次腳本或 ImageMagick 來為 OCR 準備照片的標準方法。
在快速和準確地對圖像進行OCR方面,IronOCR達到了新的高度。IronOCR允許最終用戶選擇圖像中的特定區域或範圍,並對該區域進行OCR。該區域被稱為ContentAreas或CropAreas。
IronOCR 利用 Tesseract 3, 4 或 5 對每個掃描頁面返回一個先進的結果對象。這包括位置數據、圖像、文本、統計置信度、替代符號選擇、字體名稱、字體大小裝飾、字體權重以及以下各項的位置信息:
IronOCR使開發者能夠在單個文件中使用多種語言。這項功能對於.NET服務提供者非常有幫助。
注意:
IronOCR是屢獲殊榮的產品線的一部分。通過獲得這個獎項,Iron Software證明了它確實提供了一個出色的文檔掃描應用程式,具有卓越的識別能力,以及優秀的文檔相關轉換和操作功能。
打開 Visual Studio 軟體,進入檔案選單並選擇新專案。然後,選擇主控台應用程式。
輸入專案名稱並在相應的文字框中選擇路徑。接下來,點擊建立按鈕,然後選擇所需的 .NET 框架,如下圖所示:
Visual Studio 專案現在將為選定的應用程式生成結構,如果您選擇了控制檯、Windows 和網頁應用程式,它將開啟 program.cs 檔案,您可以在其中輸入程式碼並建置/運行應用程式。
接下來,我們可以添加這個庫來測試程序。
IronOCR 函式庫可以透過四種方式下載和安裝。這些方式是:
您可以使用 Visual Studio NuGet 套件管理器將 IronOCR 集成到 C# 項目中。
接著,新的視窗將會出現在搜尋欄中:輸入IronOCR。
通過使用此方法,開發人員可以安裝IronOCR庫和任何開發人員選擇的語言包。
IronOCR 可以通過以下說明直接從 NuGet 網站下載:
從右側選單中選擇下載包選項。
雙擊下載的包。它將自動安裝。
開發人員可以使用此鏈結從 IronOCR 網站直接下載 IronOCR 庫。
右鍵點擊解決方案窗口中的專案。
然後,選擇引用選項並瀏覽下載的引用位置。
在 Visual Studio 中,依次选择工具(T)-> NuGet 套件管理器 -> 套件管理控制台
在套件管理控制台標籤中輸入以下行:
現在,該套件將下載/安裝到當前項目中並準備使用。
開發人員可以通過以下三種不同的方式下載 LeadTools OCR SDK。我們將討論它們。
使用 Visual Studio NuGet 套件管理器。
使用 NuGet 網站。
您可以使用 Visual Studio NuGet 程式包管理員在 C# 專案中安裝 LeadTools OCR:
之後,將出現一個新視窗;在搜尋欄中輸入 LeadTools OCR。
通過按照以下步驟,開發者可以安裝 LeadTools OCR 庫和任意語言包。
請按照以下指示,從 NuGet 網站直接下載 LeadTools OCR:
從右側菜單中選擇下載套件選項。
雙擊下載的套件。它會自動安裝。
開發者可以直接從 Leadtools 網站下載文件 SDK,而無需任何麻煩。只需前往他們的網站,下載包含 OCR 庫的其中一個套件即可。
這兩套軟件都提供多線程OCR引擎的服務。在這一節中,我們將探討它們的性能和速度。
LeadTools 支援同時執行多個 OCR 實例,取決於每個系統的物理核心。這個 Lead Technologies 的功能為 .NET 開發人員節省了大量時間。
// Create an instance of an OCR document from the engine
IOcrDocument ocrDocument= ocrEngineInstance.DocumentManager.CreateDocument();
// Add page, zone them, recognize them and save them
// to the final document:
ocrDocument.Pages.AddPages(imageFileName, null);
ocrDocument.Recognize(null);
ocrDocument.Save(documentFileName, DocumentFormat.Pdf, null);
// Create an instance of an OCR document from the engine
IOcrDocument ocrDocument= ocrEngineInstance.DocumentManager.CreateDocument();
// Add page, zone them, recognize them and save them
// to the final document:
ocrDocument.Pages.AddPages(imageFileName, null);
ocrDocument.Recognize(null);
ocrDocument.Save(documentFileName, DocumentFormat.Pdf, null);
' Create an instance of an OCR document from the engine
Dim ocrDocument As IOcrDocument= ocrEngineInstance.DocumentManager.CreateDocument()
' Add page, zone them, recognize them and save them
' to the final document:
ocrDocument.Pages.AddPages(imageFileName, Nothing)
ocrDocument.Recognize(Nothing)
ocrDocument.Save(documentFileName, DocumentFormat.Pdf, Nothing)
使用IronOCR的多线程功能對於開發者來說既簡單又省時。Iron Tesseract會自動嘗試使用所有核心上的所有线程,並將策略性地考慮主线程/GUI线程的響應性。
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddPdf("scan.pdf")
// Image processing is automatically multithreaded
Input.Deskew();
// OCR reading is automatically multi threaded too
var Result = Ocr.Read(Input);
}
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddPdf("scan.pdf")
// Image processing is automatically multithreaded
Input.Deskew();
// OCR reading is automatically multi threaded too
var Result = Ocr.Read(Input);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.AddPdf("scan.pdf") Input.Deskew()
' OCR reading is automatically multi threaded too
Dim Result = Ocr.Read(Input)
End Using
對於每個 C# 開發者來說,輕鬆建立可搜索的 PDF 是夢想。在本節中,我們將討論使用 IronOCR SDK 和 Lead technologies OCR SDK 來進行這個過程。
IronOCR 的出色文檔掃描應用程序允許開發人員通過支持檢測圖像中的文本字符並將其轉化為有意義的 PDF 文本來提升可搜索 PDF 的創建。用戶的代碼範例如下:
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.Add(@"images\page1.png")
Input.Add(@"images\page2.bmp")
Input.Add(@"images\page3.tiff")
Input.Deskew();
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.Add(@"images\page1.png")
Input.Add(@"images\page2.bmp")
Input.Add(@"images\page3.tiff")
Input.Deskew();
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.Add("images\page1.png") Input.Add("images\page2.bmp") Input.Add("images\page3.tiff") Input.Deskew()
Dim Result = Ocr.Read(Input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
Lead Technologies 提供了一個將其獲獎軟體線中的文檔掃描器應用程式。然而,對於最終用戶來說,這段代碼會比 IronOCR 使用的代碼略為複雜。
private void saveAsSearchablePDFToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
// Create a document
using (IOcrDocument ocrDocument = _ocrEngine.DocumentManager.CreateDocument(null, OcrCreateDocumentOptions.AutoDeleteFile))
{
// Create IOcrPage from loaded image
_ocrPage = _ocrEngine.CreatePage(_viewer.Image, OcrImageSharingMode.AutoDispose);
// Recognize Text
_ocrPage.Recognize(null);
// Add the page
ocrDocument.Pages.Add(_ocrPage);
// Save page as documentation
SaveFileDialog saveDlg = new SaveFileDialog();
saveDlg.InitialDirectory = @"C:\LEADTOOLS22\Resources\Images";
saveDlg.Filter = "Adobe Portable Document Format
*.pdf";
if (saveDlg.ShowDialog(this) != DialogResult.OK)
return;
ocrDocument.Save(saveDlg.FileName, DocumentFormat.Pdf, null);
MessageBox.Show($"OCR output saved to {saveDlg.FileName}");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void saveAsSearchablePDFToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
// Create a document
using (IOcrDocument ocrDocument = _ocrEngine.DocumentManager.CreateDocument(null, OcrCreateDocumentOptions.AutoDeleteFile))
{
// Create IOcrPage from loaded image
_ocrPage = _ocrEngine.CreatePage(_viewer.Image, OcrImageSharingMode.AutoDispose);
// Recognize Text
_ocrPage.Recognize(null);
// Add the page
ocrDocument.Pages.Add(_ocrPage);
// Save page as documentation
SaveFileDialog saveDlg = new SaveFileDialog();
saveDlg.InitialDirectory = @"C:\LEADTOOLS22\Resources\Images";
saveDlg.Filter = "Adobe Portable Document Format
*.pdf";
if (saveDlg.ShowDialog(this) != DialogResult.OK)
return;
ocrDocument.Save(saveDlg.FileName, DocumentFormat.Pdf, null);
MessageBox.Show($"OCR output saved to {saveDlg.FileName}");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
本節介紹這些軟體套件提供的支援不同平台的服務。這兩個軟體套件都支援許多平台和作業系統。
IronOCR .NET SDK 是最好的 OCR SDK,幾乎與所有支援 C# 程式語言的 .NET 平台和操作系統相容。IronOCR 還提供對不同影像格式的支援,例如 JPEG、JPG、tiff 等等。
Lead Technologies 也提供支持其各種產品和應用在不同平台上的集成。Lead Technologies 也為其用戶和開發人員提供優秀的SDK支持。
.NET
使用上述任何軟體都需要許可證。兩組軟體都需要在登錄到環境之前持有許可證。一旦您登錄後,才能開始接觸到其全新的軟體技術水平。
LeadTools 提供兩種 (2) SDK 授權的主要組成部分:
要使用 LEADTOOLS 進行開發,您需要一個開發許可證。開發許可證可以直接從 LEAD 購買,也可以通過 LEAD 授權的經銷商或分銷商購買。
開發許可證允許客戶將 SDK 安裝到開發機器上,並通過使用 SDK 示例代碼和文檔將特定的可再分發庫和文件包含到應用程序中,以創建最終用戶應用程序。
客戶使用SDK開發的最終用戶應用程式 (終端使用者軟體) 受部署許可證管轄。
與禁止任何複製應用程式的標準最終用戶應用程式許可協議不同,SDK許可證允許用戶複製和重新分發SDK的一部分。為了復制LEAD的知識產權並將其與使用LEAD SDK生產的最終用戶軟體一起部署,LEAD的客戶必須獲得必要的部署許可證。
LeadTools 不為其開發者提供免費許可。而是提供全面的開發者基礎授權。要查看 Lead Technologies OCR SDK 的價格結構,請訪問此處。
IronOCR 是一個提供免費開發者許可證的程式庫。IronPDF 也有獨特的定價結構;Lite 套裝的起價為 $749,且無隱藏費用。SaaS 和 OEM 產品的再分發也是可能的。所有許可證均附有 30 天退款保證、一年的軟體支援和升級、開發/測試/生產的有效性,以及永久許可證。 (一次性購買). 要查看IronOCR的完整價格結構和授權詳細資訊,請點此。
只需一次性支付 $1599,即可獲得全民授權的 SaaS 和 OEM 產品再分發服務。
IronOCR 是一個 .NET SDK 庫,使用世界上最強大的 Tesseract 引擎,稱為 Iron Tesseract。它支持總共超過 125 種國際語言。IronOCR 是一個很棒的文件掃描應用程序,具有許多圖像處理功能,如圖像的 OCR 區域、從圖像中提取文本、修復低解析度圖像以及對圖像的特定區域進行 OCR,以及許多其他相關功能。IronOCR 專注於在提供速度的同時保證準確性,其準確率達到 99.8%,高於任何其他 Tesseract OCR。IronOCR 開箱即用,無需調整性能或對輸入圖像進行大量修改。除此之外,您還可以以兩個產品的價格獲得全部五個 Iron Software 產品。點擊這裡查看網頁。
IronPDF
IronOCR
IronXL
IronBarcode
LeadTools OCR 是 LeadTools 的一套工具包,可快速有效地提供大多數識別功能。程序員可以對文檔圖片進行字符識別,並使用 LEADTOOLS OCR 類庫將識別的文本輸出到超過 20 種文件格式。它的庫可以與大多數程式語言和幾乎所有可用的平台集成。其功能包括:
IronOCR 和 LeadTools OCR 都是頂級工具,提供了 C# 或 .NET 開發人員所需的所有功能。IronOCR 相較其競爭對手更易於使用和編寫代碼。這兩組軟件都不會產生持續的成本,但 IronOCR 在價格上比 LeadTools OCR Library 更具效率。IronOCR 比任何競爭對手提供更高的準確性。IronOCR 提供對 125 多種語言的國際語言支持。而另一方面,LeadTools 只支持 40 多種語言。綜合考慮各方面的性能,我們唯一能得出的結論是,IronOCR 相較 LeadTools OCR 有顯著的優勢。