在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
光学字符识别(光学字符识别)是一种将照片、手写文件、印刷文本和扫描文件转换为机器可读文本的技术。 机器翻译是将印刷文本数字化的一种常用方法,这样就可以对文本进行电子编辑、搜索、更紧凑地存储、在线显示,并用于认知计算、机器翻译等机器处理过程。(提取的)文本到电子表格的转换。 纸质数据录入是一种广泛使用的数据录入方式,它可以录入打印出来的纸质数据记录--无论是护照文件、发票、银行对账单、电脑收据、名片、邮件、静态数据打印输出,还是任何合适的文档。 模式识别、人工智能和计算机视觉都属于 OCR 研究的范畴。
在本文中,我们将比较两种用于 PDF 文档和图像 OCR 的常用库和应用程序。 它们是
ABBYY FineReader PDF 是一款光学字符识别软件。(光学字符识别)该应用程序由 ABBYY 创建。 它允许我们转换图像文件(图片、扫描件、PDF 文件)屏幕截图可转换为 Microsoft Word、Microsoft Excel、Microsoft PowerPoint、富文本格式、HTML、PDF/A、可搜索 PDF、CSV 和文本等可编辑文件格式。(纯文本).
ABBYY FineReader 是一款桌面应用程序,适用于 Windows、Linux 和 macOS。 它还允许为 pdf 文件创建可编辑的格式。 我们还可以像使用 Adobe Acrobat 一样阅读 PDF。 ABBYY FineReader 可将扫描文档集成到数字工作流中。
以简单高效的方式管理和完成文档,以节省时间和精力。 以同样的方法处理任何文档,无论它是以数字方式创建还是从纸质文档转换而来。 您可以修改 PDF 的文本、表格和完整布局,而无需先进行转换。
ABBYY FineReader PDF 可以从超过 25 种不同的文件格式创建 PDF,也可以直接从纸质文档创建 PDF,或从几乎任何应用程序打印到 PDF 打印机。 支持 PDF/A-1 至 PDF/A-3,以便长期存档,PDF/UA 可确保在使用屏幕阅读器等辅助软件时可访问内容。 它还能增强专业人员的能力,最大限度地提高数字工作场所的效率。
使用 ABBYY FineReader 创建和更新您自己的交互式 PDF 表单,成功地收集信息和标准化文档。 通过组合各种类型的交互字段、设置操作、编辑现有 PDF 表单或向传统 PDF 添加表单元素来创建表格。
ABBYY FineReader 可以立即将纸质文档、扫描件和扫描的 PDF 转换为可搜索的 PDF,让您可以从数字档案中检索文档并访问其中包含的信息。 FineReader PDF 支持 PDF/A 格式的所有合规级别和变体,PDF/A-1 至 PDF/A-3 是长期存档的行业标准。
ABBYY 最新的基于人工智能的 OCR 技术 FineReader PDF 使数字化、检索、编辑、保护、共享和在同一工作流程中协作处理各种文档变得更加容易。 FineReader 还包括文档对比功能,可帮助我们对比原始文档以及转换后的 PDF 和图像文件。
IronOCR 为工程师提供软件,他们使用 IronOCR for .NET 阅读 .NET 应用程序和网站中照片和 PDF 中的文本内容。 它可以扫描照片上的文字和 BarCode,支持全球多种语言; 在翻译过程中,翻译人员必须能够以纯文本或结构化数据的形式提供输出。 Iron Software 的 OCR 库可用于 MVC、Web、控制台和桌面 .NET 应用程序。 对于商业部署,在开发团队的直接协助下提供 License。
打开 Visual Studio 软件,进入 "文件菜单"。 选择 "新项目",然后选择 "控制台应用程序"。
在相应文本框中输入项目名称并选择文件路径。 然后,点击创建按钮并选择所需的 Dot net Framework,如下图所示。
Visual Studio 项目现在将为所选应用程序生成结构,如果您选择了控制台、Windows 和 Web 应用程序,它现在将打开 program.cs 文件,您可以在其中输入代码并构建/运行应用程序。
接下来,我们可以添加库来测试代码。
我们可以在这里下载 ABBYY FineReader。
上图显示有两个版本:个人版和商业版,您可以根据自己的需求下载。 选择 "下载免费试用版 "选项。 它将把您重定向到下图所示的表单:
我们需要填写表格以获取 EXE 文件的位置。 单击下载选项下载文件。
文件下载完成后,我们可以双击 EXE 文件开始安装。 翻译完成后,将显示一条弹出消息,即可使用。
IronOCR 库可以通过四种方式下载和安装。
它们是
Visual Studio 软件提供了 NuGet 软件包管理器选项,可直接将软件包安装到解决方案中。 下面的截图显示了如何打开 NuGet 包管理器。
它提供了一个搜索框,显示 NuGet 网站上的软件包列表。在软件包管理器中,我们需要搜索关键字 IronOCR,如下图所示:
从上图中,我们将得到相关搜索项的列表。 我们需要选择所需的选项,将软件包安装到解决方案中。
在 Visual Studio 中,转到工具-> NuGet 包管理器-> 包管理器控制台
在“包管理器控制台”选项卡中输入以下行:
Install-Package IronOcr
接下来,软件包将下载/安装到当前项目中,并可随时使用。
第三种方法是直接从网站上下载 NuGet 软件包。
点击 链接 请点击此处直接从网站下载最新软件包。下载完成后,请按照以下步骤将软件包添加到项目中。
IronOCR 和 Abbyy Finereader 都有一项 OCR 技术,可以将图像转换为文本搜索。
接下来,打开 ABBYY FineReader PDF 应用程序,打开后会有多个选项,如下图所示。
接下来,从 OCR 编辑器选项中选择 "打开 "选项。 这将提示选择图像文件的选项:
选择文件后,它会自动开始将图像扫描为可编辑文本,然后在窗口中显示结果,如下图所示:
上图显示的是转换成可编辑文本的源图像。 但是,结果不能太准确。 ABBYY FineReader PDF 应用程序无法识别某些数字。这在对比窗口中可以清楚地看到--左边是源图像,右边是 OCR 转换后的文本。
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();
}
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,它允许我们将图像文件转换为文本。 在上面的代码行中,我们正在为 Iron Tesseract 制作一个对象。 我们还在制作一个 OcrInput 对象,它将允许我们添加一个或多个图片文件。 在使用 OcrInput 对象方法添加时,我们可能需要在代码中提供可用的图片路径。 可添加任意数量的图片。 我们可以利用之前构建的对象 IronTesseract 中的 "读取 "函数,通过解析图像文件并将结果提取到 OCR 结果中来获取图像。 它能够从照片中提取文本并将其转换为字符串。
我们还可以使用 Tesseract 添加多帧图像。 "AddMultiFrameTiff "是该操作的另一种方法。 Tesseract 库会读取图像中的每一帧,并将每一帧视为一个不同的页面。 该过程将读取图像的第一帧,然后读取下一帧,以此类推,直到扫描完图像的所有帧。 本方法仅支持 tiff 图像格式。
上图是 IronOCR 的输出结果,准确无误,数据已正确转换为可编辑文本。
IronOCR 和 ABBYY FineReader PDF 可帮助将 PDF 文件转换为可编辑文本。 ABBYY FineReader PDF 为用户提供了一系列选项,如保存页面、编辑图像、识别页面等。它还提供了 txt、文档、HTML 格式等保存选项。IronOCR 还允许我们将转换后的 OCR 文件保存为 HTML、txt、pdf 等格式。
打开 ABBYY FineReader PDF 软件。 这将打开一个类似下图的页面,提供多个选项。
接下来,从 OCR 编辑器选项中选择 "打开 "选项。 这将提示选择图像/PDF 的选项。 我们可以选择 PDF 或图片,也可以同时选择两个文件。
选择文件后,单击 "确定 "按钮。 它将自动开始将图像扫描为可编辑的文本,并在如下截图所示的窗口中显示结果。
上图显示的是转换成可编辑文本的源 PDF。 然而,翻译结果并不完全准确。 ABBYY FineReader PDF 应用程序无法识别某些数字。 在对比窗口中可以清楚地看到这一点--左侧是源 PDF,右侧是 OCR 转换后的文本。
我们还可以使用 OCRInput 管理 PDF 文件。 论文的每一页都将由 Iron Tesseract 班级阅读。 然后将从网页中提取文本。 我们还可以使用名为 "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);
}
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
Iron Tesseract 还提供以下方法:
添加 PDF 页
我们可以使用 "Addpdfpage "读取和提取 PDF 文档中单页的内容。只需指定我们希望从中提取文本的页码。 "AddPdfPage "允许我们从指定的众多页面中提取文本。 在 IEnumerable 中
IEnumerable<int> numbers = new List<int> {2,8,10 };
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
//single pageInput.AddPdfPage("example.pdf",10);
//Multiple pageInput.AddPdfPages("example.pdf", numbers);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Result.SaveAsTextFile("ocrtext.txt");
}
IEnumerable<int> numbers = new List<int> {2,8,10 };
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
//single pageInput.AddPdfPage("example.pdf",10);
//Multiple pageInput.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 pageInput.AddPdfPage("example.pdf",10);
'Multiple pageInput.AddPdfPages("example.pdf", numbers);
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
Result.SaveAsTextFile("ocrtext.txt")
End Using
使用 SaveAsTextFile 函数,我们可以将结果存储为文本文件,这样就可以将文件下载到输出目录路径。 此外,我们还可以使用 SaveAsHocrFile 将文件保存到 HTML 文件中。
FineReader 还有一些附加选项,例如Draw Text Area(绘制文本区域)、Draw Picture Area(绘制图片区域)、Draw Table Area(绘制表格区域)、Draw Recognize Area(绘制识别区域)等。这些选项可以帮助用户提高 OCR 的性能。 此外,除了执行 OCR 外,该应用程序还能让用户完成合并 PDF、分割 PDF、编辑 PDF 等操作。
IronOCR 具有独特的功能,可以读取扫描文件中的条形码和 QR 码。 下面的代码展示了我们如何从给定的图像或文档中读取 BarCode。
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);
}
}
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 文档中读取 BarCode 的代码。 能够从一个页面/图像中读取多个 BarCode。 要读取条形码,IronOCR 有一个独特的设置 Ocr.Configuration.ReadBarCodes,有助于读取条形码; 默认值设置为 false。
读取输入内容后,数据将保存到名为 OCRResult 的对象中; 该工具有一个名为 BarCode 的属性,可将所有可用的条形码数据集合到一个列表中。通过使用 for-each 循环,我们可以逐一获取所有条形码的详细信息。 同时,还要扫描条形码并读取条形码的值--两个操作在一个过程中完成!
此外,IronOCR 还支持线程选项,这意味着我们可以同时执行多个 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);
}
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 引擎就能实现文本识别。
在 .NET Framework 背景下使用 IronOCR 时,Tesseract 简单明了,易于使用。 它以多种方式支持照片和 PDF 文档。 它还提供了一些用于提高 Tesseract OCR 库性能的设置。 支持多种语言,也支持在一次操作中使用多种语言。 要了解有关 Tesseract OCR 的更多信息,请访问其网站。
ABBYY FineReader PDF 是一款使用人工智能引擎识别图像/PDF 文档的软件应用程序。 它还提供了各种设置,以提高 OCR 过程的性能。 此外,它还提供了选择多种语言的选项。 ABBYY FineReader PDF 对页面转换的使用有一些限制。 不同的操作系统有不同的价格。 欲了解更多有关 ABBYY FineReader PDF 价格的详细信息,请点击 这里.
IronOCR 优于 ABBYY FineReader PDF。 对比结果表明,FineReader 无法识别某些低质量图像,也无法识别图像中的某些字符,并将其报告为未知字符。 而 IronOCR 则能显示出完整、准确的结果。 它还能让我们识别条形码数据,并从图像中读取条形码的值。 IronOCR 软件包提供终身许可,没有持续成本。 IronOCR 软件包支持多种平台,价格统一。要了解有关 IronOCR 价格详情的更多信息,请点击 这里.