跳至页脚内容

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。

支持 Tesseract 3、Tesseract 4 和 Tesseract 5,适用于 .NET Framework、Standard、Core、Xamarin 和 Mono。

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 探索多种语言的 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(魔方 5)为其扫描的每个页面返回一个高级结果对象。 其中包含每个符号的位置数据、图像、文本、统计置信度、替代符号选择、字体名称、字体大小装饰、字体权重和位置

  • 页码
  • 段落
  • 文本行
  • 字数
  • 个性
  • BarCode

探索如何使用 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控制台、Web或桌面应用程序。 图像可以以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 以纯文本和条形码数据输出内容。 另一种结构化数据对象模型允许开发人员接收以结构化标题、段落、行、单词和字符格式的所有内容,直接输入到 .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 与 .NET 的 Tesseract 比较

Jim 一直是 IronOCR 开发的领导人物。 Jim 设计和构建 OCR 的图像处理算法和读取方法。

查看 Jim 的 Tesseract 比较
如何在 .NET 中从图像中读取文本 | 教程

C# OCR ASP.NET

Gemma Beckford - Microsoft 解决方案工程师

如何在 C# .NET 中从图像中读取文本

了解 Gemma 的团队如何使用 IronOCR 从图像中读取文本用于他们的存档软件。 Gemma 分享了她自己的代码示例。

查看 Gemma 的图像到文本教程
VB编码者使用IronOcr用于...

会计和金融系统

  • # 收据
  • # 报告
  • # 发票打印
向ASP.NET会计和金融系统添加PDF支持

业务数字化

  • # 文档
  • # 订购和标签
  • # 纸质替代
C#业务数字化用例

企业内容管理

  • # 内容制作
  • # 文档管理
  • # 内容分发
.NET CMS PDF支持

数据和报告应用程序

  • # 性能跟踪
  • # 趋势映射
  • # 报告
C# PDF报告
Iron .NET客户

数千家企业、政府、中小企业和开发者信赖Iron软件产品。

Iron团队在.NET软件组件市场拥有超过10年的经验。

GE
Foley
ANZ
Marval
Equinor
Medcode
Nexudus
Vireq