在生产环境中测试,没有水印。
在您需要的地方使用。
使用功能齐全的产品30天。
几分钟内即可启动和运行。
在产品试用期间,全面访问我们的支持工程团队
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 扫描每一页,并返回一个高级结果对象。 这包含位置数据、图像、文本、统计置信度、备选符号、字体名称、字号装饰、字重以及每个元素的位置:

无论是护照页、发票、银行对账单、邮件、名片或收据;光学字符识别(OCR)是一个基于模式识别、计算机视觉和机器学习的研究领域。公司跨部门使用 OCR 提取会计和财务系统、业务数字化、企业内容管理和数据报告系统中的文本。
除了搭建其他 成功案例之外。IronOCR 为 Google Tesseract 和 Microsoft 2021 Azure 认知服务增加了价值,结合 IronOCR - 一款原生 C# OCR 库。
如果您希望以 99% 的准确性转化现实世界的图像 - 然后继续阅读,看看 IronOCR 如何让您构建高效、准确、可扩展且几乎像人一样的光学字符识别应用。
光学字符识别(OCR)由于不同 API 对保护的极大信心,被认为是一个已解决的现象。然而,各种产品通常是僵硬且不准确的,无法在真实世界应用中完成任务。同样地,Tesseract OCR 处理机器打印的高分辨率完美文本。
听起来不错?
但现实世界中并不总是有完美打印的和手写的高分辨率文本。相反,旋转、倾斜、低 DPI、背景噪声和所有数字瑕疵都由 IronOCR 处理,包括从图像文件中提取手写文本。我们确保 99.8 - 100% 的准确性,可搜索的文档支持跨平台,包括 Windows、Linux、macOS、Microsoft Azure、AWS 和 Docker - 这就是为何 C# 开发者选择 IronOCR 而不是(基础)Tesseract OCR 的原因 - 已经增加了价值。
为自己配备最好的工具!
除上述之外,IronOCR 使您能够及时处理图像文档。这还不止,IronOCR API 功能还包括以下内容:
从本地 .dll 或 exes 安装过渡到单一的真理来源 - 使用简单的 .NET 组件库进行开发,使用一个简单的 C# API 支持:
IronOCR API 的艺术并未就此结束;您可以继续探索我们的技术优势 功能。我们一步一个脚印地减少商业复杂性,开发可靠的解决方案来简化文档处理应用,通过提供行业领先的功能来最大化业务收入,这些功能包括:
我们的光学字符识别过程从自动图像预处理开始,以增强图像文件,从而提高提取响应率。IronOCR 为您的工作增添价值,因为它能使用户将示例基础图像文件提取为自身的最佳版本。IronOCR 全面覆盖基础:
由于 IronOCR 服务最优在 300DPI (每英寸点数)图像文件上工作,任何显著偏离 200-300 DPI 的图像都会重新采样以适合目标范围。
这意味着从 600 DPI 图像降低采样至 300 DPI 或将 100 DPI 图像提升采样至 200 DPI,具有 99% 的信心。
由于 IronOCR 认知服务被设计为在单色图像上工作,任何彩色或灰度图像都被转换为单色,使用自适应二值化算法。
该算法比较区域内的像素密度以确定转换像素为单色所使用的阈值。
IronOCR 寻找文本行和字符模式以自动去倾并旋转输入图像资源到期望的方向。
通过 IronOCR,图像文件会自动分析噪声的存在和数量。噪声基本上是扫描图像中发现的‘小斑点’。我们的自适应算法根据噪声颗粒的大小来去除噪声。
一旦示例图像文件被预处理,IronOCR 然后会将输入图像文件划分为不同的处理区。
另一项预准备阶段包括将参考图像划分为不同的逻辑区。IronOCR 首先利用空白和模式在图像中定位文本和图片;文本区域与图像分离。
然后划分为区 - 段落、列和文本块。在文本识别过程中不包括的图像和剩余的非文本像素被识别为智能输出。IronOCR 然后通过网格线和文本块将文本区标记为表格。
执行多个、互相关联的步骤,将像素块转换为用户可以搜索的单行文本线程。这包括字符分割、自适应分类、字典引用和其他相关过程,均有助于最佳提取文本。
通过 IronOCR API 服务,我们已经通过多个数据文件示例在多种语言中测试了我们的工具,包括单词级别、符号准确性和 Microsoft Office 格式的布局保留。尽管一些参数会自动测试;其他包括视觉检查。
IronOCR 让您可以为可搜索的纯文本字符串添加跨平台的 OCR 能力,支持多种输入格式。为了通过使用 IronOCR 掌握生产力,请查看我们的免费 教程 文档,向您展示如何使用 IronOCR。今天就下载我们的 NuGet 包安装程序,并使用免费的试用密钥进行探索或联系 24/7 的个人支持。无论团队规模如何,我们的终身许可可以满足您的需要。
查看许可证





C# Tesseract OCR


C# OCR ASP.NET




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