跳過到頁腳內容

讓您入門的 VB.NET 程式碼

C# + VB.NET: AutoOcr AutoOcr
using IronOcr;

string imageText = new IronTesseract().Read(@"images\image.png").Text;
Imports IronOcr

Private imageText As String = (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);
}
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
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;
                }
            }
        }
    }
}
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
NuGet Download
Install-Package IronOcr

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

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

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

Human Support related to VB.NET 中的 OCR

我們團隊的支援

如對產品或 License 有疑問,Iron Team 隨時為您提供支援。請將您的問題傳送給我們,我們將確保 Iron 有適當的人員為您解答。

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

在 VB.NET 應用程式中將影像 OCR 為文字

可以向 IronOCR 發送一個或多個頁面。 您將因此收到所有的文字、Barcode 及 QR 內容。 將 OCR 功能加入 .NET Console、Web 或 Desktop Apps。圖片可以 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 與進階 OCR 設定可為開發人員提供工具,讓他們每次都能達到最佳效果。

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

多語言 OCR

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

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

直接匯出資料至您的 VB.NET 應用程式

IronOCR 以純文字和 BarCode 資料的形式輸出內容。 另一種結構化資料物件模型可讓開發人員以結構化標題、段落、行、字詞和字元的格式接收所有內容,以便直接輸入到 .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 函式庫授權

組織架構

Agency C# + VB.NET Library Licensing

代理機構

SaaS C# + VB.NET 函式庫授權

SaaS

OEM C# + VB.NET 函式庫授權

OEM

檢視完整授權選項  

VB.NET 光學字元識別教學

C# 的 Tesseract 教程 | IronOCR

C# Tesseract OCR

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

適用於 .NET 的 IronOCR 與 Tesseract 比較

Jim 一直是 IronOCR 開發的領導人物。 Jim 設計並建立 OCR 的影像處理演算法與讀取方法。

查看 Jim 的 Tesseract 比較
如何在 .NET | 教學中從圖片讀取文字

C# OCR ASP.NET

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

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

瞭解 Gemma 的團隊如何使用 IronOCR 來為他們的歸檔軟體讀取影像中的文字。Gemma 分享她自己的程式碼範例。

檢視 Gemma 的圖片轉文字教程
VB Coders 使用 IronOcr 來...

會計與財務系統

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

商業數位化

  • # 文件
  • # 訂購與標籤
  • # 紙張替換
C# 業務數位化使用案例

企業內容管理

  • # 內容製作
  • # 文件管理
  • # 內容分發
.NET CMS PDF 支援

資料與報告應用程式

  • # 效能追蹤
  • # 趨勢繪圖
  • # 報告
C# PDF 報告
Iron .NET 客戶

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

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

Nexudus
Equinor
澳大利亞新西蘭
Medcode
GE
Vireq
Marval
Foley