在生產環境中測試而不帶水印。
適用於您所需的任何地方。
獲得 30 天完整功能產品。
幾分鐘內即可運行。
在您的產品試用期間全面訪問我們的支持技術團隊
using IronOcr;
string imageText = new IronTesseract().Read(@"images\image.png").Text;Imports IronOcr
Private imageText As String = (New IronTesseract()).Read("images\image.png").TextInstall-Package IronOcr
IronOCR的獨特之處在於它能夠自動偵測並讀取不完全掃描影像和 PDF 文件中的文字。 IronTesseract類別提供了最簡單的 API。
嘗試其他程式碼範例,以獲得對 C# OCR 操作的更精細控制。
IronOCR 在任何地方、任何平台上提供已知最先進的 Tesseract 建置,具有更高的速度、準確性以及本機 DLL 和 API。
支援適用於 .NET Framework、Standard、Core、Xamarin 和 Mono 的 Tesseract 3、Tesseract 4 和 Tesseract 5。
IronTesseract以使用直覺的 APIRead方法執行OCRText屬性來取得 OCR 結果using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
ocrTesseract.Language = OcrLanguage.Arabic;
using (var ocrInput = new OcrInput())
{
ocrInput.LoadImage(@"images\arabic.gif");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
// Example with a Custom Trained Font Being used:
var ocrTesseractCustomerLang = new IronTesseract();
ocrTesseractCustomerLang.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata");
ocrTesseractCustomerLang.AddSecondaryLanguage(OcrLanguage.EnglishBest);
using (var ocrInput = new OcrInput())
{
ocrInput.LoadPdf(@"images\mixed-lang.pdf");
var ocrResult = ocrTesseractCustomerLang.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}Imports IronOcr
Imports System
Private ocrTesseract = New IronTesseract()
ocrTesseract.Language = OcrLanguage.Arabic
Using ocrInput As New OcrInput()
ocrInput.LoadImage("images\arabic.gif")
Dim ocrResult = ocrTesseract.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
End Using
' Example with a Custom Trained Font Being used:
Dim ocrTesseractCustomerLang = New IronTesseract()
ocrTesseractCustomerLang.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata")
ocrTesseractCustomerLang.AddSecondaryLanguage(OcrLanguage.EnglishBest)
Using ocrInput As New OcrInput()
ocrInput.LoadPdf("images\mixed-lang.pdf")
Dim ocrResult = ocrTesseractCustomerLang.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
End UsingInstall-Package IronOcr
IronOCR 支援 125 種國際語言。 除了預設安裝的英文之外,還可以透過 NuGet 將其他語言套件新增至您的 .NET 專案中,或從我們的語言頁面下載其他語言套件。 大多數語言都提供快速、標準(建議)和最佳品質三種版本。 最佳品質選項可能提供更準確的結果,但處理時間也會更慢。IronOCR 語言支持
using IronOcr;
using IronSoftware.Drawing;
// We can delve deep into OCR results as an object model of
// Pages, Barcodes, Paragraphs, Lines, Words and Characters
// This allows us to explore, export and draw OCR content using other APIs/
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using var ocrInput = new OcrInput();
var pages = new int[] { 1, 2 };
ocrInput.LoadImageFrames("example.tiff", pages);
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
foreach (var page in ocrResult.Pages)
{
// Page object
int PageNumber = page.PageNumber;
string PageText = page.Text;
int PageWordCount = page.WordCount;
// null if we dont set Ocr.Configuration.ReadBarCodes = true;
OcrResult.Barcode[] Barcodes = page.Barcodes;
AnyBitmap PageImage = page.ToBitmap(ocrInput);
double PageWidth = page.Width;
double PageHeight = page.Height;
double PageRotation = page.Rotation; // angular correction in degrees from OcrInput.Deskew()
foreach (var paragraph in page.Paragraphs)
{
// Pages -> Paragraphs
int ParagraphNumber = paragraph.ParagraphNumber;
string ParagraphText = paragraph.Text;
AnyBitmap ParagraphImage = paragraph.ToBitmap(ocrInput);
int ParagraphX_location = paragraph.X;
int ParagraphY_location = paragraph.Y;
int ParagraphWidth = paragraph.Width;
int ParagraphHeight = paragraph.Height;
double ParagraphOcrAccuracy = paragraph.Confidence;
OcrResult.TextFlow paragrapthText_direction = paragraph.TextDirection;
foreach (var line in paragraph.Lines)
{
// Pages -> Paragraphs -> Lines
int LineNumber = line.LineNumber;
string LineText = line.Text;
AnyBitmap LineImage = line.ToBitmap(ocrInput);
int LineX_location = line.X;
int LineY_location = line.Y;
int LineWidth = line.Width;
int LineHeight = line.Height;
double LineOcrAccuracy = line.Confidence;
double LineSkew = line.BaselineAngle;
double LineOffset = line.BaselineOffset;
foreach (var word in line.Words)
{
// Pages -> Paragraphs -> Lines -> Words
int WordNumber = word.WordNumber;
string WordText = word.Text;
AnyBitmap WordImage = word.ToBitmap(ocrInput);
int WordX_location = word.X;
int WordY_location = word.Y;
int WordWidth = word.Width;
int WordHeight = word.Height;
double WordOcrAccuracy = word.Confidence;
foreach (var character in word.Characters)
{
// Pages -> Paragraphs -> Lines -> Words -> Characters
int CharacterNumber = character.CharacterNumber;
string CharacterText = character.Text;
AnyBitmap CharacterImage = character.ToBitmap(ocrInput);
int CharacterX_location = character.X;
int CharacterY_location = character.Y;
int CharacterWidth = character.Width;
int CharacterHeight = character.Height;
double CharacterOcrAccuracy = character.Confidence;
// Output alternative symbols choices and their probability.
// Very useful for spellchecking
OcrResult.Choice[] Choices = character.Choices;
}
}
}
}
}Imports IronOcr
Imports IronSoftware.Drawing
' We can delve deep into OCR results as an object model of
' Pages, Barcodes, Paragraphs, Lines, Words and Characters
' This allows us to explore, export and draw OCR content using other APIs/
Private ocrTesseract = New IronTesseract()
ocrTesseract.Configuration.ReadBarCodes = True
Dim ocrInput As New OcrInput()
Dim pages = New Integer() { 1, 2 }
ocrInput.LoadImageFrames("example.tiff", pages)
Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
For Each page In ocrResult.Pages
' Page object
Dim PageNumber As Integer = page.PageNumber
Dim PageText As String = page.Text
Dim PageWordCount As Integer = page.WordCount
' null if we dont set Ocr.Configuration.ReadBarCodes = true;
Dim Barcodes() As OcrResult.Barcode = page.Barcodes
Dim PageImage As AnyBitmap = page.ToBitmap(ocrInput)
Dim PageWidth As Double = page.Width
Dim PageHeight As Double = page.Height
Dim PageRotation As Double = page.Rotation ' angular correction in degrees from OcrInput.Deskew()
For Each paragraph In page.Paragraphs
' Pages -> Paragraphs
Dim ParagraphNumber As Integer = paragraph.ParagraphNumber
Dim ParagraphText As String = paragraph.Text
Dim ParagraphImage As AnyBitmap = paragraph.ToBitmap(ocrInput)
Dim ParagraphX_location As Integer = paragraph.X
Dim ParagraphY_location As Integer = paragraph.Y
Dim ParagraphWidth As Integer = paragraph.Width
Dim ParagraphHeight As Integer = paragraph.Height
Dim ParagraphOcrAccuracy As Double = paragraph.Confidence
Dim paragrapthText_direction As OcrResult.TextFlow = paragraph.TextDirection
For Each line In paragraph.Lines
' Pages -> Paragraphs -> Lines
Dim LineNumber As Integer = line.LineNumber
Dim LineText As String = line.Text
Dim LineImage As AnyBitmap = line.ToBitmap(ocrInput)
Dim LineX_location As Integer = line.X
Dim LineY_location As Integer = line.Y
Dim LineWidth As Integer = line.Width
Dim LineHeight As Integer = line.Height
Dim LineOcrAccuracy As Double = line.Confidence
Dim LineSkew As Double = line.BaselineAngle
Dim LineOffset As Double = line.BaselineOffset
For Each word In line.Words
' Pages -> Paragraphs -> Lines -> Words
Dim WordNumber As Integer = word.WordNumber
Dim WordText As String = word.Text
Dim WordImage As AnyBitmap = word.ToBitmap(ocrInput)
Dim WordX_location As Integer = word.X
Dim WordY_location As Integer = word.Y
Dim WordWidth As Integer = word.Width
Dim WordHeight As Integer = word.Height
Dim WordOcrAccuracy As Double = word.Confidence
For Each character In word.Characters
' Pages -> Paragraphs -> Lines -> Words -> Characters
Dim CharacterNumber As Integer = character.CharacterNumber
Dim CharacterText As String = character.Text
Dim CharacterImage As AnyBitmap = character.ToBitmap(ocrInput)
Dim CharacterX_location As Integer = character.X
Dim CharacterY_location As Integer = character.Y
Dim CharacterWidth As Integer = character.Width
Dim CharacterHeight As Integer = character.Height
Dim CharacterOcrAccuracy As Double = character.Confidence
' Output alternative symbols choices and their probability.
' Very useful for spellchecking
Dim Choices() As OcrResult.Choice = character.Choices
Next character
Next word
Next line
Next paragraph
Next pageInstall-Package IronOcr
IronOCR 使用 Tesseract 5 掃描每一頁,並傳回一個進階結果物件。 這包含位置資料、圖像、文字、統計置信度、替代符號、字體名稱、字號裝飾、字體粗細以及每個元素的位置:
段落Word
無論是產品、整合或 License 方面的疑問,Iron 產品開發團隊都能隨時支援您的所有問題。請與 Iron 聯絡並展開對話,讓我們的函式庫在您的專案中發揮最大效用。
提出問題IronOCR (Optical Character Recognition,光學字元識別) 函式庫可讓開發人員在將圖像轉換為文字時,快速且有效率地得到結果。IronOCR 適用於 .NET、VB .NET 和 C#。我們的頂級 .NET 應用程式適用於 .NET Framework,專門為您 - 開發人員設計,支援您的專案達到最佳效能。
OCR 可接收並辨識文字檔、Barcode、QR 內容等。不過,IronOCR 也提供許多方法,讓您可以將圖像的 OCR 讀取和文字加入網頁、windows 桌面或控制台的 .NET 專案中,並支援幾乎無限制的圖像格式和檔案,例如 JPG、PNG、GIF、TIFF、BMP、JPEG 或 PDF。
雖然從影像輸出的純文字、字元、行和段落的識別結果可能看起來並不簡單,但您會發現在 IronOCR 的引擎蓋下,結果其實比您最初想像的還要容易。IronOCR 會掃描影像以進行對齊、使用雜訊移除和過濾器來檢查品質和解析度。它查看图像的属性,优化 OCR 引擎,然后使用训练有素的人工智能网络来识别文本(来自图像),其识别能力不亚于任何人。
即使对于计算机而言,OCR 也不是一个简单的过程。然而,IronOCR 可讓建立可搜尋文件的整體過程更快速、更直接,準確率達 100% 且只需最少的程式碼行數。
閱讀教學
軟體並不限於地理邊界 - 企業的運作跨越國界,並依賴多種語言來達成其成果。同樣地,僅能以單一語言執行文件識別的光學字元識別 (OCR) 工具在各方面都是一大缺點!
透過提供多種 OCR 功能的多語言 OCR 函式庫,您可以從掃描的 PDF 或掃描影像中以多種語言(從法文到中文!)建立可搜尋的 PDF 文件,從中獲益良多。您、您的客戶或您的組織可以無限制地使用和重複使用動態的、可搜尋字詞的 PDF 文件,您的時間和精力都得到了簡化。
無論是內建的或根據要求,IronOCR 函式庫都非常注重您、您的業務和您的 OCR 需求,它具有廣泛的支援語言。無論是阿拉伯文、西班牙文、法文、德文、希伯來文、義大利文、日文、簡體中文、繁體中文 (國語)、丹麥文、英文、芬蘭文、葡萄牙文、俄文、西班牙文或瑞典文,您只要說出語言的名稱,我們就會為您提供!您可以下載您偏好的 語言包,或聯絡我們的 24/7 支援以取得更多的語言。
第一步是使用我們為 Windows Visual Studio 提供的 NuGet 套件安裝程式。
下載語言包IronOCR 與競爭對手有何不同?除了可讓您輕鬆新增 OCR 功能、擷取文字和掃描旋轉的影像之外,它還具有從不完美的掃描中執行 OCR 的能力!
IronOCR 利用其强大的 IronTesseract DLL 扩展了 Google Tesseract 的功能 - 这是一个本地 C# OCR 库,与免费的 Tesseract 库相比,具有更高的稳定性和准确性。
有了手中的最佳工具,即使您的掃描影像不夠完美,或是儲存資料夾中的儲存影像 - IronOCR 的影像處理函式庫轉換都能清除雜訊、旋轉、減少扭曲和歪斜排列,並提高解析度和對比度。先進的光學字元識別 (OCR) 設定為您 - 編碼人員 - 提供工具和程式碼,讓您一次又一次地產生最佳的可搜尋結果。
搜尋所需的字詞,絕不會讓您失望 99.8-100% 準確度的結果,以及對 PDF 文件、multiFrame TIFF 檔案、JPEG & JPEG2000、GIF、PNG、BMP、WBMP、System.Drawing.Image、System.Drawing.Bitmap、System.IO.Streams 的影像、二進位影像資料 (byte[]) 以及其他一切的無限支援!
搜尋所需的字詞,絕不會讓您失望。
Tesseract 的替代方案
與 .NET framework 中的其他 .NET 應用程式不同,您會發現在 IronOCR 的套件管理員控制台和識別文字控制台中,先進的光學字元識別功能讓您的使用者能夠從整張圖片或掃描的影像中讀取多種文字字型 (從 Times New Roman 到任何花俏或據說難以理解的字型)、重量和樣式,以進行精確的文字讀取。我們能夠選擇影像的特定區域,有助於提高速度和精確度。從幾行到幾個段落的多執行緒可加快 OCR 引擎的速度,並允許在多核心機器上讀取多個文件。
我們對速度和精確度的要求並不限於字元識別的過程。相反,由于 IronOCR for .NET OCR 引擎是一个易于安装、完整且文档齐全的 .NET 软件库,因此其改进从安装点就开始了。有一個適用於 Visual Studio 的單一 NuGet 套件管理程式安裝,以及 MVC、WebApp、Desktop、Console 和 Server 應用程式的多執行緒相容性。
您可以達到 99.8-100% 的 OCR 精確度,而不需要任何外部網路服務、持續的費用,或必須透過網際網路傳送機密文件。
我們為追求完美編碼的開發人員提供了最佳選擇,因為 IronOCR 開箱即用,無需進行性能調整或大量修改輸入圖像。最新的 IronOCR 版本運作速度驚人 - 快達 10 倍,而且錯誤比之前的版本減少超過 250%。我們升級自己的建置,提供完美的 OCR 平台,以支援您的目標!
查看完整功能清單即使在使用行動裝置時,我們完美的 .NET OCR 函式庫也能讓開發人員「無後顧之憂」地編碼,因為 IronOCR 支援將內容匯出為一組簡單的直接和複雜文字、機器編碼文字、條碼資料或結構化物件模型資料。
從原始程式碼到最終結果 - 如果您無法將產生的資料匯出至您的應用程式,這些資料將毫無用處。IronOCR 了解这一点,并允许您将 OCR 结果导出为 XHTML,以便能够在更广泛的应用程序中使用可持续的格式,并与复杂的网站集成,更不用说更快的加载时间了!
然而,支持并不止于此。將 OCR 輸出至可搜尋的 PDF 文件的功能,可讓您、您的客戶和組織在需要時輕鬆儲存和檢索 PDF 文件!當您有一份長達 30 頁的合約,您只需輸入幾個關鍵字就能在資料庫中搜尋到,這對您尤其有利;此外,鑑於可搜尋的 PDF 文件已證實對視障人士有益,這也讓您能夠以合乎規範的方式呈現貴公司。
除了上述功能之外,您還可以將結果匯出為 OCR 格式,代表您的 OCR 輸出、版面資訊和樣式資訊,並將相關資訊嵌入標準的 HTML 中。
此外,您還可以將 OCR 結果匯出為 OCR 格式,代表您的 OCR 輸出、版面資訊和樣式資訊,並將相關資訊嵌入標準的 HTML 中。
瞭解更多





C# Tesseract OCR


C# OCR ASP.NET




Iron 的團隊在 .NET 軟體元件市場擁有超過 10 年的經驗。