IronOCR 和 Aspose.OCR 之间的比较
在本文中,我们将比较用于OCR光栅格式和PDF文档图像的两个最常见的库和应用程序。 这些是:
- Aspose.OCR
- IronOCR
1.0 介绍
1.1 Aspose.OCR简介和功能
Aspose.OCR for .NET是一个强大而可靠的光学字符识别包。 这是任何应用程序的极好补充,并可以自动化流程。 独立的OCR API是可扩展的、用户友好的和紧凑的。 它附带了一组简单的类,提供了您开始识别文本所需的所有功能,而无需任何额外的麻烦,并保持正确的文本顺序。 Aspose.OCR可以读取超过100种不同的格式,并提供多种有用的功能,包括读取字体的能力、应用样式效果(加粗/斜体),甚至去除图像噪声。 API可以使用GPU执行光学字符识别,并节省CPU的功耗。
Aspose.OCR功能
- 程序化检测、识别和读取图像中的字符。
- 扫描整个图像或仅扫描图像的特定部分。
- OCR操作的倾斜校正; 扫描旋转的图像。
- 支持JPEG、PNG、GIF等。有关支持的文件格式的完整列表,请访问支持的文件格式页面并订阅Aspose产品。
- 支持许多字符,包括数字和字母。 有关支持字符的完整列表,请访问支持的字符页面。
- 支持超过130种基于拉丁文、西里尔文、中文、阿拉伯文、韩文、日文、天城文和印度传统文字的语言(截至2025年)。
- 检测和读取Arial、Times New Roman、Courier New、Tahoma、Calibri和Verdana等流行字体。
- 支持常规、加粗和斜体的字体样式。
- 应用各种去除噪声滤镜来辅助图像识别。
- 计算线或段落的边框。
- 获取每个识别的字符的可能选项。
- 传递URI并从中识别图像。
- 识别文件夹或压缩档案中的多张图像。
- 以JSON格式获取结果。
- 将结果保存为文本、DOCX或PDF格式。
对于集成切换导航,Aspose是一个不错的选择。 识别的文本控制台和文档文本识别或图像转文本或图像OCR API是可能有用的功能示例。
除了自动拼写检查,图像检测软件也设计用于支持多种输出格式(如PNG),并忽略非文本块,而无需额外的OCR API。 独立API功能可以在开发环境中访问以从图像中捕获文本。
1.2 IronOCR — 简介和特性
IronOCR 适用于 .NET读取.NET应用和网站中的照片和PDF中的文本内容。 该软件有助于扫描照片中的文字和条形码。 以纯文本或结构化数据形式输出内容。 IronOCR支持多种全球语言。 OCR库可以在MVC、Web、控制台和桌面.NET应用中使用。 对于商业部署,提供开发团队的直接支持的许可。
- 使用最新的Tesseract 5引擎,IronOCR可以从任何图片或PDF格式中读取文本、条形码和QR码。 该库迅速将OCR添加到桌面、控制台和Web应用。
- IronOCR支持125种国际语言。 它还支持自定义语言和词汇列表。
- 可以读取超过20种条形码和二维码格式。
- IronOCR支持多页GIF和TIFF图像格式。
- 它可以修复低质量的扫描图像。
- IronOCR支持多线程。 它可以同时执行一个或多个进程。
- IronOCR能够为页面、段落、行、词、字符等提供结构化的数据输出。
- IronOCR支持Windows、Linux、macOS等操作系统。
2. 在Visual Studio中创建一个新项目
打开 Visual Studio 并转到文件菜单。 选择新项目,然后选择控制台应用程序。

控制台应用程序
输入项目名称,并在相应的文本框中选择文件路径。 然后,点击_创建_按钮并选择.NET Framework:

新项目配置
项目现在将为所选应用程序生成结构。

Program.cs 文件
3.0 安装
3.1 安装Aspose.OCR
通过NuGet安装Aspose.OCR 适用于 .NET
我们可以使用NuGet在应用程序中安装Aspose.OCR API。 只需转到Visual Studio中的工具菜单,选择NuGet包管理器。 从侧边菜单中选择管理解决方案的NuGet包。 它将打开一个NuGet包管理器窗口。 转到"浏览"选项卡并搜索Aspose.OCR。 然后从搜索结果中选择Aspose API,并点击"安装"按钮。 Aspose API将被安装并准备在项目中使用。

使用包管理器控制台安装或更新Aspose.OCR
同样,您可以使用控制台安装Aspose.OCR。 打开通常位于Visual Studio项目底部的NuGet控制台,写入以下命令,然后按回车键。
3.2 安装IronOCR
IronOCR库可以通过四种方式下载和安装。
这些是:
- 使用Visual Studio。
- 使用命令行。
- 直接从 NuGet 网站下载。
- 从IronPDF网站下载。
3.2.1 使用Visual Studio
下面的截图显示了如何打开NuGet包管理器。

NuGet包管理器
在包管理器窗口中,点击_浏览_并搜索关键字"IronOCR",如下图所示:

此网页提供在 C# 中使用 IronOCR 提高阿拉伯数字识别的排查指导,包含自定义 Tesseract 语言文件集成。
从上面的图像中,我们可以看到相关搜索的列表。 我们需要选择所需的选项将包安装到解决方案中。
3.2.2 使用命令行
- 在Visual Studio中:转到工具 -> NuGet包管理器 -> 包管理器控制台
- 在控制台标签中输入以下行。
- 现在,包将下载/安装到当前项目中,并准备好使用。
3.2.3 直接从NuGet网站下载
第三种方法是直接从网站下载NuGet包。
- 导航到链接。
- 从右侧菜单中选择下载包选项。
- 双击已下载的包。 它将自动安装。
- 接下来,重新加载解决方案并开始在项目中使用它。
3.2.4 直接从IronOCR网站下载
点击此处链接,直接从网站下载最新的包。下载后,按照以下步骤将包添加到项目中。
- 在解决方案窗口中右击项目。
- 然后,选择选项"引用"并浏览已下载引用的位置。
- 然后,单击确定以添加参考。
4.0 OCR图像
IronOCR和Aspose.OCR均具有将图像转换为文本的OCR技术。
4.1 使用Aspose.OCR
下面的代码片段演示了使用RecognizeImage方法对页面图像执行OCR操作。
// For complete examples and data files, please go to https://github.com/aspose-ocr/Aspose.OCR-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_OCR();
// Initialize an instance of AsposeOcr
AsposeOcr api = new AsposeOcr();
// Recognize image
string result = api.RecognizeImage(dataDir + "Sampleocr.bmp");
// Display the recognized text
Console.WriteLine(result);' For complete examples and data files, please go to https://github.com/aspose-ocr/Aspose.OCR-for-.NET
' The path to the documents directory.
Dim dataDir As String = RunExamples.GetDataDir_OCR()
' Initialize an instance of AsposeOcr
Dim api As New AsposeOcr()
' Recognize image
Dim result As String = api.RecognizeImage(dataDir & "Sampleocr.bmp")
' Display the recognized text
Console.WriteLine(result)下面的代码片段演示了使用RecognizeLine方法对包含单行的图像执行OCR操作。
// For complete examples and data files, please go to https://github.com/aspose-ocr/Aspose.OCR-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_OCR();
// Initialize an instance of AsposeOcr
AsposeOcr api = new AsposeOcr();
// Recognize image
string result = api.RecognizeLine(dataDir + "sample_line.png");
// Display the recognized text
Console.WriteLine(result);' For complete examples and data files, please go to https://github.com/aspose-ocr/Aspose.OCR-for-.NET
' The path to the documents directory.
Dim dataDir As String = RunExamples.GetDataDir_OCR()
' Initialize an instance of AsposeOcr
Dim api As New AsposeOcr()
' Recognize image
Dim result As String = api.RecognizeLine(dataDir & "sample_line.png")
' Display the recognized text
Console.WriteLine(result)4.2 使用IronOCR
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage(@"3.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Console.ReadKey();
}Dim Ocr = New IronTesseract() ' nothing to configure
Ocr.Language = OcrLanguage.EnglishBest
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
Using Input = New OcrInput()
Input.AddImage("3.png")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
Console.ReadKey()
End Using上面展示的Tesseract 5 API允许我们将图像文件转换为文本。 我们在上面的代码行中为IronTesseract创建了一个对象。 我们还创建了一个OcrInput对象,这个对象允许我们添加一个或多个图片文件。 在使用OcrInput对象方法add时,可能需要在代码中给出可用的图片路径。 可以添加任意数量的图像。 我们之前构建的Read函数可以通过解析图像文件并将结果提取到OCR结果来获取图像。 它可以从图片中提取文本并转换为字符串。
我们还可以使用Tesseract添加多帧图像。 AddMultiFrameTiff是此操作的另一种方法。 Tesseract库读取图像中的每一帧,每一帧被视为一个独立的页面。 过程将读取图像的第一帧,然后继续读取下一帧,依此类推,直到所有图像帧都被扫描。 此方法仅支持TIFF图像格式。

此网页提供在 C# 中使用 IronOCR 提高阿拉伯数字识别的排查指导,包含自定义 Tesseract 语言文件集成。
上图是IronOCR结果的输出,准确地将数据转换为可编辑文本。
5.0 OCR PDF文件
IronOCR和Aspose.OCR将PDF文件转换为可编辑文本。 Aspose.OCR为用户提供了一系列选项,例如保存页面、编辑图像、识别页面等。它还提供了保存选项,如文本、文档、HTML格式等。IronOCR也允许我们将转换后的OCR文件保存为HTML、文本、PDF等。
5.1 使用Aspose.OCR
Aspose.OCR提供了RecognizePdf方法,可以识别从扫描PDF文件中提取的图像中的文本。 DocumentRecognitionSettings对象。 下面的代码片段演示了使用the RecognizePdf method从扫描的多页PDF文件中识别图像。
// The path to the PDF file
string dataDir = RunExamples.GetDataDir_OCR();
// Archive Path
string fullPath = dataDir + "OCR.pdf";
// Recognize images from PDF
DocumentRecognitionSettings set = new DocumentRecognitionSettings();
set.DetectAreas = false;
List<RecognitionResult> result = api.RecognizePdf(fullPath, set);
// Print result
int pageNumber = 0;
foreach (var page in result)
{
System.Console.WriteLine($"Page: {pageNumber++} text: {page.RecognitionText}");
}' The path to the PDF file
Dim dataDir As String = RunExamples.GetDataDir_OCR()
' Archive Path
Dim fullPath As String = dataDir & "OCR.pdf"
' Recognize images from PDF
Dim [set] As New DocumentRecognitionSettings()
[set].DetectAreas = False
Dim result As List(Of RecognitionResult) = api.RecognizePdf(fullPath, [set])
' Print result
Dim pageNumber As Integer = 0
For Each page In result
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: System.Console.WriteLine(string.Format("Page: {0} text: {1}", pageNumber++, page.RecognitionText));
System.Console.WriteLine($"Page: {pageNumber} text: {page.RecognitionText}")
pageNumber += 1
Next page5.2 使用IronOCR
我们也可以使用OCRInput来管理PDF文件。 文档的每一页将由IronTesseract类读取。 然后将从页面中提取文本。 我们还可以使用一个名为AddPDF的第二个函数打开受保护的文档,该函数允许我们将PDF添加到文档列表中(如果受保护,请输入密码)。 以下代码展示了如何打开密码保护的PDF文档:
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput())
{
Input.AddPdf("example.pdf", "password");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}Dim Ocr = New IronTesseract() ' nothing to configure
Using Input = New OcrInput()
Input.AddPdf("example.pdf", "password")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using我们可以使用AddPdfPage读取和提取PDF文档中的单页内容。 只需要指定我们要提取文本的页码。 AddPdfPage允许我们从指定的多个页面中提取文本。 在IEnumerable<int>中,我们可以轻松指定多个页面。 我们还必须包含文件位置和扩展名。这在以下代码示例中展示:
IEnumerable<int> numbers = new List<int> {2, 8, 10};
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
// Single page
Input.AddPdfPage("example.pdf", 10);
// Multiple pages
Input.AddPdfPages("example.pdf", numbers);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Result.SaveAsTextFile("ocrtext.txt");
}Dim numbers As IEnumerable(Of Integer) = New List(Of Integer) From {2, 8, 10}
Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
' Single page
Input.AddPdfPage("example.pdf", 10)
' Multiple pages
Input.AddPdfPages("example.pdf", numbers)
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
Result.SaveAsTextFile("ocrtext.txt")
End Using使用SaveAsTextFile函数,我们可以将结果存储为文本文件,这使我们可以将文件下载到输出目录路径。 此外,我们还可以使用SaveAsHocrFile将文件保存为HTML文件。
6.0 其他功能
6.1 使用Aspose.OCR
Aspose.OCR具有一些附加选项,例如绘制文本区域、绘制图片区域、绘制表格区域、绘制识别区域等。这些都有助于提高OCR的性能。 此应用不仅执行OCR,还可以执行一系列操作,如合并PDF、拆分PDF、编辑PDF等。
6.2 使用IronOCR
IronOCR具有独特的功能,允许我们从扫描文档中读取条形码和QR码。 以下代码显示了我们如何从给定的图像或文档中读取条形码。
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.ReadBarCodes = true;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage("barcode.gif");
var Result = Ocr.Read(Input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
}
}Dim Ocr = New IronTesseract() ' nothing to configure
Ocr.Language = OcrLanguage.EnglishBest
Ocr.Configuration.ReadBarCodes = True
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
Using Input = New OcrInput()
Input.AddImage("barcode.gif")
Dim Result = Ocr.Read(Input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
Next Barcode
End Using以上是帮助从给定的图像或PDF文档中读取条形码的代码。 它可以从页面/图像中读取多个条形码。 要读取条形码,IronOCR有一个独特的设置,Ocr.Configuration.ReadBarCodes。 默认值设置为false。
读取输入后,数据将保存到名为OCRResult的对象中。 该对象有一个名为Barcodes的属性,列表中将包含所有可用的条形码数据。通过使用foreach循环,我们可以逐一获取所有条形码详情。 此外,它将扫描条形码并读取条形码的值—两个操作在一个过程中完成。
它支持线程选项。 我们可以同时执行多个 OCR 处理,IronOCR 可识别指定区域的内容。
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
.X = 215,
.Y = 1250,
.Height = 280,
.Width = 1335
}
Input.Add("document.png", ContentArea)
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using以上是对特定区域执行OCR的示例代码。 我们只需在图像或PDF中指定矩形区域。 IronOCR中的Tesseract引擎帮助我们识别文本。
IronOCR和Aspose.OCR许可证模型和定价
IronOCR许可证模型和价格
**30天退款保证:**IronOCR提供30天的退款政策。 因此,如果您在购买软件后改变主意,您可以在30天内申请退款。
**易于集成:**IronOCR与项目和环境的集成非常简单,我们可以通过仅编写一行代码并从NuGet包中添加它来实现。 或者,我们可以从Web下载并以这种方式集成到我们的环境。
**永久许可:**每个许可证都是一次性购买,无需续订。
**免费支持和产品更新:**每个许可证都包含一年的免费产品更新和产品团队提供的支持。 可以随时购买扩展。 扩展可以查看。
**即时许可证:**支付完成后即可发送已注册的许可证密钥。
所有许可证都是永久性的,适用于开发、临时和生产环境。
Lite套餐
- 1 位开发者
- 1 个地点
- 1 个项目
- 永久性许可证
此包允许组织中的单个软件开发人员在单个地方使用这个Iron Software。 它可用于单个Web应用程序、内部网应用程序或桌面软件程序。 许可证是不可转让的,不能在组织外或代理/客户关系中共享。这种类型的许可证,像所有其他类型的许可证一样,明确排除在协议下未明确授予的所有权利,在没有OEM重新分发的情况下,以及在未经额外覆盖购买的情况下将Iron Software作为SaaS使用。
**定价:**每年起价为$999。
专业许可证
- 10 位开发者
- 10 个地点
- 10 个项目
- 永久性许可证
这允许组织中预定数量的软件开发人员在单个位置使用这个Iron Software,最多为十个。 您可在尽可能多的网站、内联网应用程序或桌面软件应用程序中使用IronOCR。这种许可证,像所有其他许可证类型一样,明确排除在协议下未明确授予的所有权利,包括OEM重新分发以及在未经购买额外覆盖的情况下将Iron Software作为SaaS使用。 此许可证可以与单个项目中的最多十个项目集成。
**定价:**起价为每年$2,399。
无限许可证
- 无限开发者
- 无限地点
- 无限项目
- 永久性许可证
这允许组织中无限数量的软件开发人员在无限数量的位置使用这个Iron Software。 您可以在尽可能多的网站、内联网应用程序或桌面软件应用程序中使用。许可证是不可转让的,不能在组织外或代理/客户关系中共享。这个许可证类型,像所有其他类型的许可证一样,明确排除在协议下未明确授予的所有权利,包括OEM重新分发以及在未经购买额外覆盖的情况下将Iron Software作为SaaS使用。
**定价:**起价为每年$4,799。
免版税重新分发 — 这允许您将此Iron Software作为多个不同包装的商业产品的一部分进行分发(无需支付版税),基于基础许可证所涵盖的项目数量。 它允许根据基础许可证所涵盖的项目数量在SaaS软件服务中部署Iron Software。
**定价:**访问IronOCR授权页了解当前定价。

定价
Aspose许可证模型和定价
开发者小型企业许可证
开发者小型企业许可证允许开发者使用该产品创建无限数量的终端用户软件,并仅在其组织内的一个物理位置安装。 在部署终端用户软件时,您需要为开发团队中的每位开发者或使用地点的每个物理位置购买许可证。 开发者小型企业许可证不允许您将终端用户软件分发给第三方、面向公众的网站和应用程序、外联网、多站点内联网或软件即服务(SaaS)项目使用场景。 您只能使用OEM许可证将您开发的应用程序部署到单一客户。 如果您想为其他公司创建库或以开源软件的形式分发您的创作,您将需要不同类型的许可证。
**定价:**起价为每年$783(截至2025年,通过ComponentSource验证,适用于版本25.4)。
开发者OEM许可证
开发者OEM许可证意味着一个开发者可以在任何位置的任意数量的电脑上使用产品。 因此,如果您在一个办公室工作但需要在另一办公室工作一个小时,这种许可证类型是可以的。 OEM开发者许可证涵盖一个软件产品的生产者,即非产品的授权经销商但正在制作使用其功能的软件。 为了将终端用户软件分发给终端用户,您需要这种许可证类型。 为了允许将终端用户软件分发给第三方、面向公众的网站/应用程序、外联网、多站点内联网或SaaS项目使用场景,必须为开发团队中的每位开发者购买开发者许可证。 这种许可证不支持创建用于终端用户的软件,例如API或SDK。
**定价:**每年起价为$2397。
站点小型企业许可证
站点小型企业许可证允许最多十位开发者使用该产品在任何十个物理位置(例如,独立的办公楼,如果您不是拥有多个办公室的企业,则在任何物理位置)创建无限数量的终端用户软件。 如果您有超过十位开发者或想在十个以上的地点使用Aspose,您可以购买多站点小型企业许可证。 此许可证不支持使用此许可证创建的软件分发给其他组织。
**定价:**每年起价为$3995。
计量OEM许可证
计量OEM许可证支持无限数量的开发者、无限数量的位置和无限数量的终端用户软件。 它允许用户将终端用户软件分发给第三方。 计量OEM许可证适用于面向公众的网站/应用程序,并可用于支持外联网或SaaS项目。 它创建用于开发库的终端用户软件,该库具有API或SDK。
**定价:**每年起价为$1999。

Aspose 定价
IronOCR Lite许可证包括一个开发者包和一年支持,费用约为$783,提供免费技术支持(2025年定价)。 IronOCR Professional许可证包括10个开发者包和一年支持,费用为$2,399,而Aspose Site OEM级别的10个开发者包按企业定价提供——请参阅Aspose定价页面以获取当前价格。
IronOCR Lite和专业套餐具有SaaS服务或OEM和5年支持选项。 请访问IronOCR授权页了解Extended Support和OEM选项的当前价格,而Aspose有SaaS或OEM服务和定制支持选项。
7.0 结论
在.NET框架上下文中,IronOCR提供的Tesseract简单易用。 它支持多种方式的照片和PDF文档。 同时,它还提供了若干用于优化Tesseract OCR库性能的设置。 支持在一次操作中识别多种语言。 要了解有关Tesseract OCR的更多信息,请访问他们的网站。
Aspose.OCR是一款利用人工智能引擎来识别图像和PDF文档的软件应用程序。 它还提供了多种设置来提高OCR过程的性能。 此外,它也提供选择多种语言的选项,然后执行OCR。 Aspose对页面转换的使用有一些限制。 不同操作系统的价格也有所不同。
与Aspose相比,IronOCR套餐提供更好的许可和支持。 另外,Aspose更昂贵。IronOCR起价为$783。 此外,IronOCR比Aspose提供了更多的功能,并且支持多种平台,且价格只有一个。
那么,您在等什么? 免费试用对所有人开放。 您可以在此处获得许可证并立即开始。
{i:(Aspose 是其各自所有者的注册商标。 本网站与 Aspose 无关,也未得到 Aspose 的支持或赞助。 所有产品名称、徽标和品牌均为各自所有者的财产。 比较仅供参考,反映撰写时公开可用的信息。)}]
