在生产环境中测试,没有水印。
在您需要的地方使用。
使用功能齐全的产品30天。
几分钟内即可启动和运行。
在产品试用期间,全面访问我们的支持工程团队
using IronOcr;
string imageText = 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以使用直观的 APIRead方法执行OCRText属性获取 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);
}Install-Package IronOcr
IronOCR 支持 125 种国际语言。 除了默认安装的英语之外,还可以通过 NuGet 将其他语言包添加到您的 .NET 项目中,或者从我们的语言页面下载其他语言包。 大多数语言都提供快速、标准(推荐)和最佳质量三种版本。 最佳质量选项可能提供更准确的结果,但处理时间也会更慢。IronOCR 语言支持
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;
}
}
}
}
}Install-Package IronOcr
IronOCR 使用 Tesseract 5 扫描每一页,并返回一个高级结果对象。 这包含位置数据、图像、文本、统计置信度、备选符号、字体名称、字号装饰、字重以及每个元素的位置:

IronOCR(光学字符识别)库使开发人员在将图像转换为文本时能够快速且高效地获得结果。IronOCR适用于.NET, VB .NET和C#。我们的高端.NET应用程序适用于.NET框架,专为您——开发者——设计,以支持您的项目实现最佳性能。
OCR接收和识别文本文件、条形码、QR内容等。但是,IronOCR还提供了许多方法,允许您将OCR读取和图像中的文本添加到web、windows桌面或控制台.NET项目中,可以支持几乎无限的图像格式和文件,例如JPG、PNG、GIF、TIFF、BMP、JPEG或PDF。
尽管从图像输出中识别纯文本、字符、行和段落的结果可能并不显得直接,但您会发现,IronOCR的结果比您最初想象的更为简单。IronOCR扫描图像以校准,采用其噪声去除和过滤器来检查质量和分辨率。它检查其属性,优化OCR引擎,并使用训练过的人工智能网络来识别文本(从图像中),同样准确如人。
即便对于计算机来说,OCR也不是一个简单的过程。然而,IronOCR使得创建可搜索文档的整个过程更加快速和直接,且具有100%的准确性且仅需要最少的代码行数。
阅读教程
软件不受地域界限的限制——企业需跨国运作并依赖多种语言来实现其结果。同样的,仅在单一语言支持文档识别的光学字符识别(OCR)工具在任何方面都是失败的!
通过提供多个OCR功能的多语言OCR库,您可以从扫描的PDF或扫描的图像中创建可搜索的PDF文档,支持多种语言(从法语到中文)。具有动态、可搜索词的PDF文档,可以使您、您的客户或组织在没有限制的情况下使用和重用。
关注您、贵企业及您的OCR需求,无论内置还是按需,IronOCR库提供广泛的语言支持。您下一步的.NET项目可以不再担心语言兼容性问题!
无论是阿拉伯语、西班牙语、法语、德语、希伯来语、意大利语、日语、简体中文、繁体中文(普通话)、丹麦语、英语、芬兰语、葡萄牙语、俄语、或瑞典语,只需您命名的语言,我们就能为您提供!您可以下载您偏好的语言包,或者联系我们的24/7支持获取更多语言。
第一步是使用我们的Windows Visual Studio NuGet包安装程序。
下载语言包IronOCR 与其竞争对手有何不同?除了让您轻松添加 OCR 功能、提取文本和扫描旋转图像外,它还具有从不完美扫描中执行 OCR 的能力!相比之下,许多市场上现成的产品往往是僵化和不准确的,注定在现实世界的个人和企业应用中失败,因为大多数产品只支持机器打印、高分辨率和完美调整的文本。
IronOCR 扩展了 Google Tesseract 的功能,提供强大的 IronTesseract DLL — 一种本地 C# OCR 库,具有比免费的 Tesseract 库更高的稳定性和准确性。
只要手中有最好的工具,即使您手中有不完美的扫描图像或存储在您的存储文件夹中的图像 - IronOCR 的图像处理库转换可以清除噪声、旋转、减少扭曲和失真的对齐,并提高分辨率和对比度。高级光学字符识别(OCR)设置为您——编码者——提供生成最佳可搜索结果所需的工具和代码,反复如此。
搜索您需要的单词,绝不要对 99.8%-100% 的准确结果和对 PDF 文件、多帧 TIFF 文件、JPEG 和 JPEG2000、GIF、PNG、BMP、WBMP、System.Drawing.Image、System.Drawing.Bitmap、System.IO.Streams 的图像、二进制图像数据(byte[])及其他一切感到失望!
Tesseract的替代品
与其他.NET框架内的应用程序不同,您会发现IronOCR的软件包管理器控制台和识别文本控制台中的高级光学字符识别赋予您的用户读取多种字体(从Times New Roman到任何花哨或难以理解的字体)、粗细和样式的能力, 从完整图像或扫描图像中准确读取文本。我们能够选择图像的某些区域以提高速度和准确性。从几行到几段的多线程加快了OCR引擎的速度,并允许在多核机器上读取多个文件。
我们对于速度和准确性的声称不仅限于字符识别的过程。事实上,性能改进从安装开始,因为IronOCR的.NET OCR引擎易于安装,是一个完整且文档详尽的.NET软件库。在Visual Studio中有一个单独的NuGet包管理器安装,并与MVC、WebApp、桌面、控制台和服务器应用程序兼容。
您可以在没有任何外部网络服务、持续费用或将机密文件发送到互联网上的情况下实现99.8-100% 的OCR准确性。在没有繁琐的C++编码的情况下,IronOCR是需要完整PDF OCR支持的多个字符、单词、行、段落、文本和文件时的明确选择。
我们为寻求提升其编码的开发人员提供最佳选择,因为IronOCR开箱即用,无需性能调优或大量更改输入图像。最新的IronOCR版本工作迅速——速度高达之前版本的十倍,并且错误率减少超过250%。我们升级我们自己的版本,以支持您的目标,提供完美的OCR平台!
查看完整功能列表即便在使用移动设备时,我们完美的.NET OCR库使开发人员能够“无忧编码”,因为IronOCR支持将内容导出为一组简单的直接文本、机器编码的文本、条形码数据或结构化对象模型数据。您可以分割内容段落、行、单词、字符和图像字符串结果,用于.NET应用程序中。
从源代码到最终结果——如果您无法将其导出到应用程序,结果数据将毫无用处。IronOCR了解这一点,允许您将OCR结果导出为XHTML格式,以便能够在更广泛的应用程序范围内工作,并与复杂网站集成,更不提更快的加载时间!
然而,支持并不止于此。将OCR结果导出为可搜索的PDF文档使您、您的客户和组织能够在需要时轻松存储和检索PDF文档!这尤其有益于您有一个30页的合同,可以在数据库中通过几个关键字进行搜索,也使您的公司呈现出符合标准的形象,因为可搜索的PDF文档在视觉上有障碍的人群中被证明是有益的。
除上述之外,您可以将结果导出到表示您的OCR输出、布局信息和样式信息的OCR格式,并将相关信息嵌入标准HTML中。
了解更多





C# Tesseract OCR


C# OCR ASP.NET




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