C# 和 .NET 中的中文 OCR.
本文档的其他版本:
IronOCR 是一个 C# 软件组件,它允许 .NET 开发人员从图像和 PDF 文档中读取 126 种语言(包括中文)的文本。 中文语言包包含简体中文和繁体中文。
它是 Tesseract 的一个高级分支,专为 .NET 开发人员构建,在速度和准确性方面通常优于其他 Tesseract 引擎。 该库能够识别各种语言(包括中文)的不同格式的图像和文档。 它支持超过 126 种语言,与同类产品相比具有很高的识别准确性。 IronOCR 的 API 设计时考虑了可扩展性和定制化。 您可以通过将调优数据或功能添加到跟踪器来增强 IronOCR 的性能。 IronOCR 使用多种光学字符识别技术,可在 Windows PC、Linux、macOS 和其他知名平台上使用。
IronOcr.Languages.Chinese 的内容
此软件包包含 126 种适用于 .NET 的 OCR 语言:
- 中文简体
- 中文简体最佳
- 中文简体Fast
- 中文简体垂直
- 中文简体垂直最佳
- 中文简体垂直快速
- 中文传统
- 中国传统美食精选
- 中国传统斋戒
- 中文传统垂直
- 中文传统垂直Best
- 中文传统垂直Fast
下载
我们可以从以下链接下载中文语言包:
使用 IronOCR 识别中文
创建或打开 C# 项目
要开始使用 IronOCR,您需要创建一个 C# .NET 项目。 为此,我们使用 Visual Studio 2022。 您可以根据自己的需要选择版本,建议使用最新版本的 Visual Studio 以获得流畅的使用体验。 我们将创建一个图形用户界面来选择图像。 IronOCR 也可以通过提供图像的直接路径在控制台应用程序中使用。 按照以下步骤在 Visual Studio 2022 中创建 C# 项目:
- 打开 Visual Studio 2022。
- 点击"创建一个新项目"按钮。
在搜索栏中输入"Windows",从搜索结果中选择"Windows 窗体"应用程序,然后单击"下一步"按钮。
- 给项目命名。 我将此项目命名为"ChineseOCR"。 命名完成后,点击"下一步"按钮。
- 在下一个屏幕上选择 .NET 框架。 根据项目需求选择 .NET 框架。 本教程选用的是.NET 5.0版本。
- 选择完成后,点击"创建"按钮。 它将在 Visual Studio 中创建 C# Windows 窗体项目。
项目已创建完成,现在可以与 IronOCR 库一起使用。 您也可以使用现有的 C# 项目。 打开项目并继续安装 IronOCR 库。 以下部分说明如何在 C# 项目中安装 IronOCR 库。
安装
使用 NuGet 包管理器
要使用 NuGet 包管理器安装 IronOCR 库,我们必须打开 NuGet 包管理器界面。 请按照以下步骤安装 IronOCR 库:
- 点击主菜单中的"工具",将鼠标悬停在"NuGet 程序包管理器"上,然后选择"管理解决方案的 NuGet 程序包"。
这将打开 NuGet 包管理器界面。 转到"浏览"选项卡,搜索 IronOCR Chinese。 从搜索结果中选择正确的软件包,然后单击"安装"按钮进行安装。
库安装将开始。 安装完成后,您就可以在项目中使用 IronOCR 库了。
使用包管理器控制台
使用控制台始终是一个简单的选择。 我们也可以使用软件包管理器控制台安装 IronOCR 库。 请按照以下步骤安装 IronOCR 库:
- 在 Visual Studio 中打开程序包管理器控制台。 它通常位于 Visual Studio 的底部。
在控制台中执行以下命令:
Install-Package IronOcr.Languages.Chinese
- 您将在控制台中看到库的安装进度。 它会自动安装库。 安装完成后,该项目即可使用 IronOCR 库。
代码示例:中文OCR
现在,是时候编写实现 IronOCR 库以支持中文识别的代码了。 首先,我们需要开发用于选择图像文件的前端界面。让我们看看该如何实现。
前端开发
我们将使用"工具箱"元素来设计正面。 我们将创建一个按钮、一个图片框、一个富文本框和两个标签。 我们将从工具箱中拖放这些元素,并将它们放置在 Windows 窗体中。 根据需要排列这些元素。
按钮用于从电脑中选择图像文件,图片框用于加载所选图像,富文本框用于显示输出文本。 您可以根据需要调整每个元素的大小。 最终的前端设计将如下所示:
运行项目时会弹出此窗口。 我们已将 Windows 窗体的对齐方式设置为显示在屏幕中央。
我们的前端已经准备就绪。 现在,让我们为按钮添加后端功能。
IronOCR的后端代码
首先,导入 IronOCR 命名空间,以便在我们的代码中使用它,方法是在文件顶部写入以下代码行:
using IronOCR;using IronOCR;Imports IronOCR我们将使用"选择图像"按钮来选择图像并将其加载到图片框中。 IronOCR 将处理简体中文文本图像,并在富文本框中显示输出文本。 让我们通过双击按钮并编写以下代码来为按钮添加功能:
private void btn_image_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
if (open.ShowDialog() == DialogResult.OK)
{
// Display image in picture box
img_image.Image = new Bitmap(open.FileName);
var Ocr = new IronTesseract();
// Set OCR language to Chinese Traditional
Ocr.Language = OcrLanguage.ChineseTraditional;
using (var Input = new OcrInput(open.FileName))
{
// Perform OCR on the image input
var Result = Ocr.Read(Input);
// Output the recognized text
txt_output.Text = Result.Text;
}
}
}private void btn_image_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
if (open.ShowDialog() == DialogResult.OK)
{
// Display image in picture box
img_image.Image = new Bitmap(open.FileName);
var Ocr = new IronTesseract();
// Set OCR language to Chinese Traditional
Ocr.Language = OcrLanguage.ChineseTraditional;
using (var Input = new OcrInput(open.FileName))
{
// Perform OCR on the image input
var Result = Ocr.Read(Input);
// Output the recognized text
txt_output.Text = Result.Text;
}
}
}Private Sub btn_image_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim open As New OpenFileDialog()
If open.ShowDialog() = DialogResult.OK Then
' Display image in picture box
img_image.Image = New Bitmap(open.FileName)
Dim Ocr = New IronTesseract()
' Set OCR language to Chinese Traditional
Ocr.Language = OcrLanguage.ChineseTraditional
Using Input = New OcrInput(open.FileName)
' Perform OCR on the image input
Dim Result = Ocr.Read(Input)
' Output the recognized text
txt_output.Text = Result.Text
End Using
End If
End Sub当用户点击按钮时,将出现一个对话框供用户选择图像。 当用户选择图片时,图片将自动加载到图片框中。 我们使用Bitmap在图片框中显示图像。 之后,IronOCR 将图像转换为中文文本。 我们将 OCR 语言设置为繁体中文,以便识别繁体中文文本。 Ocr.Read函数处理 OCR 结果并将其存储在Result变量中。 如有需要,您可以使用SaveAs功能将文本保存为 PDF、文本或 HTML 格式,以 IronOCR 支持的各种输出格式保存文件。
运行项目
现在是时候运行项目了。 在 Visual Studio 中单击"运行"按钮。 您应该会看到以下屏幕:
点击"选择图像"按钮。 它将打开"选择文件"对话框。 选择图像文件并按回车键。
它会将图像加载到图片框中,自动扫描图像,并将结果显示在文本框中。
这是我们选择的图像的输出。 IronOCR 还支持读取和扫描 PDF 文件。 您可以使用可编辑的 PDF 文件格式,通过 IronOCR 扫描和识别文本,而且支持多种语言。 IronOCR还可以将现有的PDF文档转换为可搜索的PDF文档。 它采用多种图像滤镜来增强图像清晰度。 以下是一些筛选条件:
Input.Binarize()Input.Contrast()Input.Deskew()Input.DeNoise()Input.Dilate()Input.EnhanceResolution(300)
所有这些功能都能提高字符的可见性。 IronOCR 使用这些功能创建可搜索的 PDF。 下面是一个例子:
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddPdf("scan.pdf");
// Clean up twisted pages
Input.Deskew();
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddPdf("scan.pdf");
// Clean up twisted pages
Input.Deskew();
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}Imports IronOcr
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.AddPdf("scan.pdf")
' Clean up twisted pages
Input.Deskew()
Dim Result = Ocr.Read(Input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using许可
IronOCR 可免费用于开发。 您可以免费使用所有功能。 IronOCR 提供免费试用版,无需支付即可生产。 Iron Software 提供一项热门优惠——五款软件产品套装,只需两款的价格。 只需一次性支付两款软件产品的费用,即可获得包括 IronPDF 和 IronXL 在内的全部五款产品。 您可以在这里找到更多关于许可方面的信息。





