觀看David Jones, Agorus, 使用Iron Suite創造新效能
觀看Milan Jovanović使用IronPDF
觀看我們的團隊產品演示
using IronOcr; string imageText = new IronTesseract().Read(@"images\image.png").Text;
Imports IronOcr Private imageText As String = (New IronTesseract()).Read("images\image.png").Text
Install-Package IronOcr
IronOCR 的獨特之處在於它能夠自動偵測和讀取掃描不完美的影像和 PDF 文件中的文字。 IronTesseract類別提供了最簡單的 API。
IronTesseract
嘗試其他程式碼範例,以獲得對 C# OCR 操作的更精細控制。
IronOCR 提供目前已知最先進的 Tesseract 版本,可在任何平台上運行,速度更快、精度更高,並具有原生 DLL 和 API。
支援適用於 .NET Framework、Standard、Core、Xamarin 和 Mono 的 Tesseract 3、Tesseract 4 和 Tesseract 5。
Read
Text
探索 IronTesseract C# 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 Using
IronOCR 語言支持 IronOCR 支援 125 種國際語言。 除了預設安裝的英文之外,還可以透過 NuGet 將其他語言套件新增至您的 .NET 專案中,或從我們的語言頁面下載其他語言套件。 大多數語言都提供快速、標準(建議)和最佳品質三種版本。 最佳品質選項可能提供更準確的結果,但處理時間也會更慢。 使用 IronOCR 探索多種語言的 OCR 技術。
IronOCR 支援 125 種國際語言。 除了預設安裝的英文之外,還可以透過 NuGet 將其他語言套件新增至您的 .NET 專案中,或從我們的語言頁面下載其他語言套件。
大多數語言都提供快速、標準(建議)和最佳品質三種版本。 最佳品質選項可能提供更準確的結果,但處理時間也會更慢。
使用 IronOCR 探索多種語言的 OCR 技術。
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 page
IronOCR 使用 Tesseract 5 掃描每一頁,並傳回一個進階結果物件。 這包含位置資料、圖像、文字、統計置信度、替代符號、字體名稱、字號裝飾、字體粗細以及每個元素的位置:
探索如何使用 IronOCR 讀取 OCR 結果
無論是產品、整合或 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% 且只需最少的程式碼行數。
工作內容 .NET, VB.NET, C#
軟體並不限於地理邊界 - 企業的運作跨越國界,並依賴多種語言來達成其成果。同樣地,僅能以單一語言執行文件識別的光學字元識別 (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[]) 以及其他一切的無限支援!
搜尋所需的字詞,絕不會讓您失望。
與 .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 中。
免費社群開發授權。商業授權 749 美元起。
C# Tesseract OCR
Jim 一直是 IronOCR 開發的領導人物。 Jim 設計並建立 OCR 的影像處理演算法與讀取方法。
C# OCR ASP.NET
瞭解 Gemma 的團隊如何使用 IronOCR 來為他們的歸檔軟體讀取影像中的文字。Gemma 分享她自己的程式碼範例。
Iron 的團隊在 .NET 軟體元件市場擁有超過 10 年的經驗。
直接與我們的開發團隊交談
以簡明的英文撰寫清晰的線上手冊。
免費開發授權。商業版 749 美元起。
使用 NuGet 或 DLL 只需數分鐘即可上手。
無需信用卡
試用表單已提交成功。您的試用密鑰應該在電子郵件裡。如果沒有,請聯繫support@ironsoftware.com
您的試用密鑰應該在電子郵件裡。如果沒有,請聯繫support@ironsoftware.com
在生產環境中測試而不帶水印。適用於您所需的任何地方。
獲得 30 天完整功能產品。幾分鐘內即可運行。
在您的產品試用期間全面訪問我們的支持技術團隊
產品與其關鍵功能的即時展示
獲取項目特定的功能建議
我們會回答您所有的問題,以確保您掌握所有需要的資訊。(絕無承諾)。
請檢查您的電子郵件以取得試用授權金鑰。
如果您沒有收到電子郵件,請啟動 support@ironsoftware.com
預約無需承諾的諮詢
完成以下表單或發送電子郵件至 sales@ironsoftware.com
您的詳細信息將始終保密。
預訂 30 分鐘的個人演示。
無須合約、無須卡號、無任何長期綁約。
版權所有 © Iron Software 2013-2025