跳至頁尾內容

開始使用 .NET OCR 範例

C# + VB.NET: 自動OCR 自動OCR
using IronOcr;

string imageText = new IronTesseract().Read(@"images\image.png").Text;
NuGet Download
Install-Package IronOcr

IronOCR的獨特之處在於它能夠自動偵測並讀取不完全掃描影像和 PDF 文件中的文字。 IronTesseract類別提供了最簡單的 API。

嘗試其他程式碼範例,以獲得對 C# OCR 操作的更精細控制。

IronOCR 在任何地方、任何平台上提供已知最先進的 Tesseract 建置,具有更高的速度、準確性以及本機 DLL 和 API。

支援適用於 .NET Framework、Standard、Core、Xamarin 和 Mono 的 Tesseract 3、Tesseract 4 和 Tesseract 5。

Explore the IronTesseract C# OCR How-To Guide

C# + VB.NET: 國際語言 國際語言
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);
}
NuGet Download
Install-Package IronOcr

IronOCR 語言支持

IronOCR 支援 125 種國際語言。 除了預設安裝的英文之外,還可以透過 NuGet 將其他語言套件新增至您的 .NET 專案中,或從我們的語言頁面下載其他語言套件。

大多數語言都提供快速、標準(建議)和最佳品質三種版本。 最佳品質選項可能提供更準確的結果,但處理時間也會更慢。

使用 IronOCR 探索多種語言的 OCR 技術。

C# + VB.NET: 結果對象 結果對象
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;
                }
            }
        }
    }
}
NuGet Download
Install-Package IronOcr

IronOCR 使用 Tesseract 5 掃描每一頁,並傳回一個進階結果物件。 這包含位置資料、圖像、文字、統計置信度、替代符號、字體名稱、字號裝飾、字體粗細以及每個元素的位置

  • <編碼>頁面</編碼
  • 段落
  • 文本行
  • Word
  • 個人特色
  • <編碼>Barcode</編碼

探索如何使用 IronOCR 讀取 OCR 結果

Human Support related to .NET Core 中的 OCR

來自我們開發團隊的直接人工支援

無論是產品、整合或授權方面的問題,Iron 產品開發團隊都隨時準備為您解答。聯絡我們,與 Iron 展開對話,充分利用我們的庫資源,協助您的專案取得成功。

提問
Image To Text related to .NET Core 中的 OCR

光學字元辨識 (OCR) 閱讀引擎 — OCR .NET SDK 中的影像轉文字功能

IronOCR(光學字元辨識)庫使開發人員能夠快速且有效率地將影像轉換為文字。 IronOCR 支援 .NET、VB.NET 和 C#。我們為 .NET 框架打造的頂級 .NET 應用程式專為開發人員量身定制,旨在幫助您實現專案的最佳效能。

OCR 可以接收和辨識文字檔案、條碼、二維碼內容等等。此外,IronOCR 還提供了多種方法,可讓您將 OCR 讀取和圖像文字的功能添加到 Web、Windows 桌面或控制台 .NET 專案中,並支援幾乎所有圖像格式和文件,例如 JPG、PNG、GIF、TIFF、BMP、JPEG 或 PDF。

幕後運作-IronOCR 提供完美效果

雖然從圖像輸出中識別純文字、字元、行和段落的結果乍看之下可能並不直觀,但您會發現 IronOCR 的底層工作原理實際上比您最初想像的要簡單得多。 IronOCR 會掃描影像進行對齊,利用其降噪和濾鏡來檢查影像品質和解析度。它會分析圖像屬性,優化 OCR 引擎,然後使用訓練有素的人工智慧網路來識別圖像中的文本,其準確率堪比人類。

即使對電腦而言,OCR 也不是一件簡單的事。然而,IronOCR 能夠以 100% 的準確率和最少的程式碼行數,讓創建可搜尋文件的整個過程變得更快、更直接。

。網, VB.NET, C#

閱讀教學
Support For Languages related to .NET Core 中的 OCR

支援多種國際語言

軟體不受地域限制——企業跨越國界運營,並依賴多種語言來實現目標。同樣,一款只能識別單一語言文件的光學字元辨識(OCR)工具,無論從哪個方面來看都是絕對不可取的!

多語言OCR支援對您意味著什麼?

透過提供多種 OCR 功能的多語言 OCR 庫,您可以從掃描的 PDF 或掃描影像建立可搜尋的多語言 PDF 文件(從法語到中文!)。動態的、可搜尋的 PDF 文件將大大節省您的時間和精力,您、您的客戶或您的組織可以無限次地使用和重複使用。

IronOCR庫以您、您的業務和您的OCR需求為中心,無論內建或按需定制,都支援多種語言。您的下一個.NET專案將不再受語言相容性問題的困擾!

無論是阿拉伯語、西班牙語、法語、德語、希伯來語、義大利語、日語、簡體中文、繁體中文(普通話)、丹麥語、英語、芬蘭語、葡萄牙語、俄語、西班牙語或瑞典語,您只需說出語言名稱,我們就能為您提供!您可以下載所需的語言包,或聯絡我們的全天候客服,以獲得更多語言支援。

第一步是使用我們的適用於 Windows Visual Studio 的 NuGet 套件安裝程式。

下載語言包
Advanced Image related to .NET Core 中的 OCR

用於精確讀取不完美掃描影像的影像處理

IronOCR 與競爭對手有何不同?除了可以輕鬆添加 OCR 功能、提取文字和掃描旋轉圖像外,它還能從不完美的掃描件中進行 OCR 識別!相較之下,目前市面上許多即用型產品往往不夠精準,難以在實際的個人和企業應用中發揮作用,因為它們大多只能處理機器列印的、高解析度的、完美調整的文字。

IronOCR 透過其強大的 IronTesseract DLL 擴展了 Google Tesseract 的功能——這是一個原生 C# OCR 庫,與免費的 Tesseract 庫相比,穩定性更高,準確性更強。

請放心進行-IronOCR 為您提供全方位保障!

有了這款最佳工具,即使您手邊只有一張不夠完美的掃描影像或儲存資料夾中的影像,IronOCR 的影像處理庫轉換功能也能消除雜訊、旋轉影像、減少失真和傾斜,並提高解析度和對比度。進階光學字元辨識 (OCR) 設定為編碼人員提供了所需的工具和代碼,讓您能夠一次又一次地產生最佳的搜尋結果。

搜尋您需要的詞語,99.8-100% 的準確結果絕不會讓您失望,並且無限支援 PDF 文件、多幀 TIFF 文件、JPEG 和 JPEG2000、GIF、PNG、BMP、WBMP、System.Drawing.Image、System.Drawing.Bitmap、System.Bit.

超立方體的替代方案
Fast And Polite Behavior related to .NET Core 中的 OCR

快速準確-從掃描的PDF到掃描的旋轉影像

與其他 .NET 框架中的 .NET 應用程式不同,IronOCR 的套件管理器控制台和已識別文字控制台中提供的先進光學字元辨識 (OCR) 功能,使用戶能夠讀取多種字體(從 Times New Roman 到任何花哨或難以辨認的字體)、字重和樣式,從而從整個圖像或掃描圖像中準確識別文字。我們支援選擇影像的特定區域,這有助於提高速度和準確性。從幾行到幾段的多執行緒處理能力,可以加快 OCR 引擎的運行速度,並允許在多核心電腦上讀取多個文件。

從頭到尾都表現出色

我們對速度和準確性的承諾不僅限於字元辨識過程。事實上,改進從安裝之初就開始了,因為 IronOCR 的 .NET OCR 引擎是一個易於安裝、功能齊全且文件完善的 .NET 軟體庫。它只需一個 NuGet 套件管理器即可在 Visual Studio 中安裝,並且相容於 MVC、WebApp、桌面、控制台和伺服器應用程式的多執行緒功能。

無需任何外部網路服務、持續付費,也無需透過網路傳送機密文件,即可達到 99.8%-100% 的 OCR 準確率。 IronOCR 無需繁瑣的 C++ 編碼,是您需要全面支援 PDF OCR 功能(包括多字元、單字、行、段落、文字和文件)時的理想選擇。

我們為追求卓越編碼的開發者提供最佳選擇,IronOCR 開箱即用,無需任何效能調優或對輸入影像進行大量修改。最新版本的 IronOCR 運行速度驚人——比以往版本快十倍,錯誤率降低 250% 以上。我們不斷升級自身版本,為您提供完美的 OCR 平台,協助您實現目標!

查看完整功能列表
Output Content related to .NET Core 中的 OCR

將 OCR 結果數據直接匯出到您的應用程式

即使使用行動設備,我們完善的 .NET OCR 庫也能讓開發人員「安心」編寫程式碼,因為 IronOCR 支援將內容匯出為簡單的文字(包括直譯文字和複雜文字)、機器編碼文字、條碼資料或結構化物件模型資料。您可以將內容拆分為段落、行、單字、字元和圖像字串結果,以便在 .NET 應用程式中直接使用。

輕鬆匯出到目標應用程式和格式——XHTML、可搜尋文件、HOCR 和 HTML

從原始程式碼到最終結果——如果無法將結果匯出到您的應用程序,那麼這些數據將毫無用處。 IronOCR 深諳此道,讓您可以將 OCR 結果匯出為 XHTML 格式,以便在更廣泛的應用程式中使用可持續格式,並整合到複雜的網站中,更不用說還能加快載入速度!

然而,我們的支持遠不止於此。將 OCR 資訊匯出為可搜尋的 PDF 文檔,讓您、您的客戶和組織隨時隨地輕鬆儲存和檢索 PDF 文件!如果您有一份長達 30 頁的合同,只需幾個關鍵字即可在資料庫中搜索,這項功能尤其有用。此外,考慮到可搜尋的 PDF 文件已被證明對視障人士大有裨益,這項功能還能展現貴公司合規的形象。

除了上述功能外,您還可以將結果匯出為 OCR 格式,該格式包含 OCR 輸出、佈局資訊和樣式訊息,並將相關資訊嵌入到標準 HTML 中。

了解更多
支持:
  • .NET Framework 4.0 及更高版本支援 C#、VB 和 F#
  • Microsoft Visual Studio .NET 開發 IDE 圖示
  • Visual Studio 的 NuGet 安裝程式支持
  • 相容於 JetBrains ReSharper C# 語言助手
  • 相容於 Microsoft Azure C# .NET 託管平台

授權與定價

免費提供社區開發許可。商業許可證起價749美元。

C# + VB.NET 專案庫許可

專案

開發人員 C# + VB.NET 函式庫許可

開發者

組織 C# + VB.NET 函式庫許可

組織

代理 C# + VB.NET 庫許可

機構

SaaS C# + VB.NET 函式庫許可

SaaS

OEM C# + VB.NET 函式庫許可

原廠設備製造商

查看完整授權選項  

來自我們 .NET 社群的 OCR 教程

.NET Tesseract OCR | IronOCR

C# 超立方體 OCR

Jim Baker是Iron公司的開發工程師,負責OCR產品的開發工作。

IronOCR 和 Tesseract 在 .NET 中的比較

Jim一直是IronOCR開發過程中的主要人物。他負責設計和建構用於OCR的影像處理演算法和讀取方法。

參見對比
.NET 中的文字轉圖像 | 教學課程

C# OCR ASP.NET

Gemma Beckford - 微軟解決方案工程師

.NET 影像文字轉換

了解 Gemma 的團隊如何使用 IronOCR 從圖像中讀取文本,用於他們的歸檔軟體。 Gemma 也分享了她自己的程式碼範例。

.NET 圖像轉文字教學
數千名開發者使用 IronOcr 來…

會計和財務系統

  • # 收據
  • # 報告
  • # 發票列印
為 ASP.NET 會計和財務系統新增 PDF 支持

商業數位化

  • # 文件
  • # 訂購及貼標籤
  • # 紙張替代品
C# 業務數位化用例

企業內容管理

  • # 內容製作
  • # 文件管理
  • # 內容散佈
.NET CMS PDF 支持

數據和報告應用程式

  • # 績效追蹤
  • # 趨勢圖
  • # 報告
C# PDF 報表
Iron Software Enterprise .NET 元件開發人員

成千上萬的企業、政府機構、中小企業和開發人員都信賴 Iron 軟體產品。

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

佛利
維雷克
尼胡杜斯
奇蹟
Equinor
通用電氣
Medcode
澳新銀行