跳過到頁腳內容

VB.NET 起始代碼

C# + VB.NET: 自動 Ocr 自動 Ocr
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。

嘗試其他代碼範例以精細控制您的 C# OCR 操作。

IronOCR 提供了已知可用於任何平台的 Tesseract 最先進版本,具有更高的速度、準確性和本地 DLL 以及 API。

支持 .NET Framework、Standard、Core、Xamarin 和 Mono 上的 Tesseract 3、Tesseract 4 和 Tesseract 5。

探索 IronTesseract C# OCR 中文指南

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);
}
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
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;
                }
            }
        }
    }
}
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
Install-Package IronOcr

IronOCR 為它使用 Tesseract 5 掃描的每個頁面返回一個先進的結果對象。 這包含位置數據、圖像、文本、統計置信度、替代符號選擇、字體名稱、字體大小裝飾、字體粗細和位置,每個項目如下:

  • 頁面
  • 段落
  • 文本行
  • 單詞
  • 個別字符
  • 條形碼

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

Human Support related to VB.NET 中的 OCR

來自我們團隊的支持

對於產品或授權問題,Iron 團隊準備為您提供支持。發送您的問題,我們將確保 Iron 的相關人員為您回答。

聯繫我們
Image To Text related to VB.NET 中的 OCR

VB.NET 應用程式中的 OCR 圖像到文字

單個或多個頁面可以發送到 IronOCR。您將收到所有文字、條碼和 QR 內容作為結果。將 OCR 功能添加到 .NET 控制臺、網絡或桌面應用程式。圖像可以以 PDF、JPG、PNG、GIF、BMP 和 TIFF 格式提交。

製作於 VB.NET, .NET, C#

查看教程
Fast And Polite Behavior related to VB.NET 中的 OCR

快速且準確的 OCR

光學字符識別軟體可查看多種字體樣式的內容,以進行準確的文字 OCR。使用矩形讀取區域來提高速度和準確性。多核心多線程提高了 OCR 閱讀速度。

API 參考文件
Advanced Image related to VB.NET 中的 OCR

不完美掃描識別的圖像處理

IronOCR 的特性在於其閱讀不良掃描文件的能力。其獨特的預處理函式庫減少背影噪音、旋轉、失真和倾斜对齐,並簡化顏色、增強分辨率和對比度。Iron 的 AutoOCR 和 Advanced OCR 設定為開發者提供每次都獲得最佳結果的工具。

了解更多
Support For Languages related to VB.NET 中的 OCR

多語言 OCR

語言包可用於:阿拉伯語、簡體中文、繁體中文、丹麥語、英語、芬蘭語、法語、德語、希伯來語、義大利語、日語、韓語、葡萄牙語、俄語、西班牙語和瑞典語。其他語言可根據請求提供支持。

了解更多
Output Content related to VB.NET 中的 OCR

數據直接匯出到您的 VB.NET 應用程式

IronOCR 輸出內容為純文本和條碼數據。另一種選擇的結構化數據對象模型允許開發者接收所有內容,以結構化的標題、段落、行、單詞和字符的格式,直接輸入 .NET 應用程序中。

了解更多
支持:
  • .NET Framework 4.0 及以上支持 C#、VB、F#
  • Microsoft Visual Studio. .NET 開發 IDE 圖標
  • NuGet 安装支持 Visual Studio
  • 兼容 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 庫授權

OEM

查看完整的許可選項  

VB.NET 光學字符識別教程

C# 的 Tesseract 教程 | IronOCR

C# Tesseract OCR

Jim Baker 是 Iron 為 OCR 產品開發的開發工程師

IronOCR 和 Tesseract 比較適用於 .NET

Jim 在 IronOCR 的開發中是一位領導人物。Jim 設計和構建影像處理算法及 OCR 的讀取方法。

查看 Jim 的 Tesseract 比較
如何在 .NET 中從影像中讀取文本 | 教程

C# OCR ASP.NET

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

如何在 C# .NET 中從影像中讀取文本

學習 Gemma 的團隊如何使用 IronOCR 從影像中讀取文本以用於他們的檔案存檔軟件。Gemma 分享了她自己的代碼樣本。

查看 Gemma 的影像到文本教學
VB 編碼人員使用 IronOcr 進行...

會計和財務系統

  • # 收據
  • # 報告
  • # 發票打印
向 ASP.NET 會計和財務系統添加 PDF 支持

商務數字化

  • # 文件
  • # 訂單和標籤
  • # 紙質替代
C# 商務數字化用例

企業內容管理

  • # 內容生產
  • # 文档管理
  • # 內容分發
.NET CMS PDF 支持

數據和報告應用

  • # 性能跟踪
  • # 趨勢映射
  • # 報告
C# PDF 報告
Iron .NET 客戶

數千個公司、政府、中小型企業和開發人員都信任 Iron 軟件產品。

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

Medcode
ANZ
Marval
Vireq
Foley
GE
Equinor
Nexudus