IronOCR 开始 .NET MAUI OCR 使用 IronOCR 的 .NET MAUI OCR Curtis Chau 已更新:七月 22, 2025 下载 IronOCR NuGet 下载 DLL 下载 Windows 安装程序 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English 简介 微软发布了 .NET MAUI(多平台应用程序用户界面),这是一个使用 .NET Framework 构建跨平台应用程序的框架。 它允许您使用同一套代码库编写可在 Android、iOS 和 Windows 上运行的代码,从而节省您的时间、资源和精力。 .NET MAUI 是开源的。 您可以在GitHub上获取 .NET MAUI 项目的源代码及示例。 在本操作指南中,我们将学习如何使用 IronOCR 库在 .NET MAUI 上创建 OCR 处理器应用程序,并附有示例。 如何在 .NET MAUI 中执行 OCR 下载用于在 .NET MAUI 中执行 OCR 的 C# 库 配置 MAUI 项目的前端 使用FilePicker类传递图像的完整路径 调用Read方法对图像执行 OCR 识别。 通过访问Text属性来获取提取的文本并将其显示出来。 IronOCR:.NET OCR库 IronOCR是一个 .NET OCR NuGet 库,它使开发人员能够轻松地将光学字符识别 (OCR) 功能集成到他们的项目中。 使用 IronOCR,可以扫描 PDF 文档并将其转换为可搜索和可编辑的文本/数据,而不会损失任何数据质量。 这样一来,用户可以轻松地从 PDF 文档中找到所需的信息,并在必要时进行更改或更正。 IronOCR 是目前适用于所有平台的 Tesseract 二进制文件的最高版本。 它提供更高的速度、准确性和原生 DLL/API,只需一次简单的安装/下载即可支持所有版本的 Tesseract(从 Tesseract 3 到 Tesseract 5)。 IronOCR 的语言支持非常广泛,用户可以使用 125 种国际语言。 该工具/DLL 默认安装了英语语言包。 不过,您可以通过 NuGet 安装或下载 DLL 文件轻松添加更多语言。 与 Tesseract 的比较 IronOCR 专为 C# 开发人员设计,可与 .NET 应用程序无缝集成。 相比之下,Tesseract 是一个通用的 OCR 库,需要开发人员编写自己的包装器才能将其与 C# 一起使用。 此外,与其他数据库相比,IronOCR 凭借其创新的人工智能算法,提供了更优异的准确性和速度。 IronOCR 附带全面的文档和技术支持,即使是新手开发人员也能轻松快速上手。 IronOCR 比 Tesseract 准确得多。 事实上,它的准确率超过 99%,而 Tesseract 的准确率只有 70.2% 到 92.9% 左右。 观看此YouTube 视频,了解更多关于 IronOCR 和 Tesseract 对比的信息和支持。 创建 OCR MAUI 应用的步骤 按照以下步骤,使用 IronOCR 在 .NET MAUI 框架中创建 OCR 应用程序。 前提条件 要在.NET MAUI中创建OCR应用程序,需要满足以下先决条件: Visual Studio 2022(最新版本) .NET 6 或 7 在Visual Studio中安装的MAUI包 一个在 Visual Studio 中运行的 .NET MAUI 项目 安装 IronOCR 第一步是使用 NuGet 包管理器控制台安装 IronOCR 库。 右键单击解决方案资源管理器,打开 NuGet 程序包管理器控制台,然后执行以下命令来安装 IronOCR 库: Install-Package IronOcr 前端设计 本节我们将设计应用程序的前端。 打开MainPage.xaml文件。 MainPage.xaml 我们指定一个按钮,帮助我们选择要进行 OCR 识别的图像或 PDF 文档。 按钮的Clicked属性设置为执行IOCR函数,我们将在下一节中定义该函数。 <Button x:Name="OCR" Text="Click to OCR" Clicked="IOCR" HorizontalOptions="Center" /> <Button x:Name="OCR" Text="Click to OCR" Clicked="IOCR" HorizontalOptions="Center" /> XML 在这里,我们创建一个名为OCRImage Image元素。 此图像框将显示所选文件。 <Image x:Name="OCRImage" SemanticProperties.Description="Selected Image" HeightRequest="300" HorizontalOptions="Center" /> <Image x:Name="OCRImage" SemanticProperties.Description="Selected Image" HeightRequest="300" HorizontalOptions="Center" /> XML 接下来,我们创建一个Editor控件。 它将用于显示从图像或 PDF 文档中提取的文本。 <Editor x:Name="outputText" HorizontalOptions="Center" WidthRequest="600" HeightRequest="300" /> <Editor x:Name="outputText" HorizontalOptions="Center" WidthRequest="600" HeightRequest="300" /> XML 以下是完整的 XAML 用户界面标记。 <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="IronOCR_MAUI_Test.MainPage"> <ScrollView> <VerticalStackLayout Spacing="25" Padding="30,0" VerticalOptions="Center"> <Button x:Name="OCR" Text="Click to OCR" Clicked="IOCR" HorizontalOptions="Center" /> <Image x:Name="OCRImage" SemanticProperties.Description="Selected Image" HeightRequest="300" HorizontalOptions="Center" /> <Editor x:Name="outputText" HorizontalOptions="Center" WidthRequest="600" HeightRequest="300" /> </VerticalStackLayout> </ScrollView> </ContentPage> <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="IronOCR_MAUI_Test.MainPage"> <ScrollView> <VerticalStackLayout Spacing="25" Padding="30,0" VerticalOptions="Center"> <Button x:Name="OCR" Text="Click to OCR" Clicked="IOCR" HorizontalOptions="Center" /> <Image x:Name="OCRImage" SemanticProperties.Description="Selected Image" HeightRequest="300" HorizontalOptions="Center" /> <Editor x:Name="outputText" HorizontalOptions="Center" WidthRequest="600" HeightRequest="300" /> </VerticalStackLayout> </ScrollView> </ContentPage> XML 现在,是时候编写 OCR 功能的代码了。 使用 IronOCR 的 OCR 代码 打开MainPage.xaml.cs类文件,并编写以下函数: MainPage.xaml.cs private async void IOCR(object sender, EventArgs e) { // Prompt user to select an image using FilePicker var images = await FilePicker.Default.PickAsync(new PickOptions { PickerTitle = "Pick image", FileTypes = FilePickerFileType.Images }); // Get the full path of the selected image var path = images.FullPath.ToString(); // Display the selected image in the Image control OCRImage.Source = path; // Create an IronTesseract object to perform OCR var ocr = new IronTesseract(); // Perform OCR and extract text from the selected image using (var input = new OcrInput()) { input.AddImage(path); // Add image to the OCR input OcrResult result = ocr.Read(input); // Perform OCR string text = result.Text; // Extract text // Display extracted text in the Editor control outputText.Text = text; } } private async void IOCR(object sender, EventArgs e) { // Prompt user to select an image using FilePicker var images = await FilePicker.Default.PickAsync(new PickOptions { PickerTitle = "Pick image", FileTypes = FilePickerFileType.Images }); // Get the full path of the selected image var path = images.FullPath.ToString(); // Display the selected image in the Image control OCRImage.Source = path; // Create an IronTesseract object to perform OCR var ocr = new IronTesseract(); // Perform OCR and extract text from the selected image using (var input = new OcrInput()) { input.AddImage(path); // Add image to the OCR input OcrResult result = ocr.Read(input); // Perform OCR string text = result.Text; // Extract text // Display extracted text in the Editor control outputText.Text = text; } } Private Async Sub IOCR(ByVal sender As Object, ByVal e As EventArgs) ' Prompt user to select an image using FilePicker Dim images = Await FilePicker.Default.PickAsync(New PickOptions With { .PickerTitle = "Pick image", .FileTypes = FilePickerFileType.Images }) ' Get the full path of the selected image Dim path = images.FullPath.ToString() ' Display the selected image in the Image control OCRImage.Source = path ' Create an IronTesseract object to perform OCR Dim ocr = New IronTesseract() ' Perform OCR and extract text from the selected image Using input = New OcrInput() input.AddImage(path) ' Add image to the OCR input Dim result As OcrResult = ocr.Read(input) ' Perform OCR Dim text As String = result.Text ' Extract text ' Display extracted text in the Editor control outputText.Text = text End Using End Sub $vbLabelText $csharpLabel 让我们来分析一下上面的代码: 该代码使用FilePicker允许用户从设备中选择图像文件。文件选择器配置为仅允许选择图像文件。 var images = await FilePicker.Default.PickAsync(new PickOptions { PickerTitle = "Pick image", FileTypes = FilePickerFileType.Images }); var path = images.FullPath.ToString(); var images = await FilePicker.Default.PickAsync(new PickOptions { PickerTitle = "Pick image", FileTypes = FilePickerFileType.Images }); var path = images.FullPath.ToString(); Dim images = Await FilePicker.Default.PickAsync(New PickOptions With { .PickerTitle = "Pick image", .FileTypes = FilePickerFileType.Images }) Dim path = images.FullPath.ToString() $vbLabelText $csharpLabel Image控件设置为使用文件路径显示选定的图像。 OCRImage.Source = path; OCRImage.Source = path; OCRImage.Source = path $vbLabelText $csharpLabel 创建一个IronTesseract对象来执行 OCR。 将选定的图像添加到OcrInput对象中。 调用Read方法从图像中提取文本,然后在Editor控件中显示该文本。 var ocr = new IronTesseract(); using (var input = new OcrInput()) { input.AddImage(path); OcrResult result = ocr.Read(input); string text = result.Text; outputText.Text = text; } var ocr = new IronTesseract(); using (var input = new OcrInput()) { input.AddImage(path); OcrResult result = ocr.Read(input); string text = result.Text; outputText.Text = text; } Dim ocr = New IronTesseract() Using input = New OcrInput() input.AddImage(path) Dim result As OcrResult = ocr.Read(input) Dim text As String = result.Text outputText.Text = text End Using $vbLabelText $csharpLabel 输出 项目运行后,将显示以下用户界面。点击按钮后,系统会提示您从任意位置选择图像/PDF 文件。 OCR 输出 选择图像后,IronOCR 会处理图像并在编辑器控件中显示识别出的单词。 您可以从编辑器控件复制文本。 OCR图像 结果表明,IronOCR 在处理具有图案的复杂图像方面表现出色,结果准确无误。 IronOCR 能够利用其预训练模型检测细微之处并选择所需的确切字母。 <{i:(在发布模式下运行项目并附加调试功能可能会导致问题。 在这种情况下,您可以将项目发布为未打包的 .NET MAUI 应用程序(如下链接所示),以确保应用程序正常运行。 结论 如需进一步阅读,请参阅本教程,其中提供了有关如何使用 IronOCR从图像中读取文本的更多信息。 IronOCR 可免费用于开发目的。 您可以以非常低的价格购买,起价仅为$799 。 点击此处查看定价方案。 常见问题解答 .NET MAUI 在应用程序开发中用于什么? .NET MAUI(多平台应用程序 UI)用于构建具有单一代码库的跨平台应用程序,使开发者能够瞄准 Android、iOS 和 Windows 平台。 开发者如何在 .NET MAUI 应用程序中执行 OCR? 开发者可以在 .NET MAUI 应用程序中集成 IronOCR 执行 OCR,IronOCR 是一个 .NET OCR 库。IronOCR 可以将图像和 PDF 转换为可搜索和可编辑的文本。 在 .NET MAUI 项目中设置 IronOCR 的步骤是什么? 要在 .NET MAUI 项目中设置 IronOCR,请通过 NuGet 安装 IronOCR 库,在 Visual Studio 中配置您的前端,并实现必要的 C# 代码以使用 IronTesseract 对象执行 OCR。 IronOCR 处理文本时的准确度如何? IronOCR 在处理文本时提供超过 99% 的高准确率,由于其先进的 AI 算法,使其比其他 OCR 解决方案(如 Tesseract)更可靠。 IronOCR 能处理多种语言吗? 是的,IronOCR 支持 125 种国际语言,默认安装英语。其他语言可以通过 NuGet 添加或通过下载特定语言的 DLLs 添加。 如何在 .NET MAUI 应用程序中选择用于 OCR 的图像文件? 在 .NET MAUI 应用程序中,可以使用 FilePicker 类选择用于 OCR 的图像文件,该类允许用户从设备中选择图像进行文本提取。 Editor 控件在显示 OCR 结果中的作用是什么? .NET MAUI 应用程序中的 Editor 控件用于显示通过 IronOCR 处理的图像中提取的文本,为用户提供查看 OCR 结果的界面。 使用 IronOCR 进行开发是否需要花费? IronOCR 可免费用于开发用途。然而,生产使用需要许可证,可以以有竞争力的价格获得。 是什么让 IronOCR 成为 C# 开发人员的首选? IronOCR 是 C# 开发者的首选,因为它与 .NET 应用程序无缝集成,具有高准确性、速度,以及对多种语言的支持,使其优于许多其他 OCR 库。 开发者如何增强他们的 .NET MAUI OCR 应用程序的功能? 开发者可以通过探索 IronOCR 提供的附加资源来增强他们的 .NET MAUI OCR 应用程序,利用其全面的文档和支持以实现先进功能。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 审核者 Jeffrey T. Fritz 首席项目经理 - .NET 社区团队 Jeff 也是 .NET 和 Visual Studio 团队的首席项目经理。他是 .NET Conf 虚拟会议系列的执行制片人,并主持“Fritz and Friends”直播节目,每周两次与观众一起谈论技术并编写代码。Jeff 撰写研讨会、演示文稿并计划包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP 峰会在内的最大型微软开发者活动的内容。 准备开始了吗? Nuget 下载 5,167,857 | Version: 2025.11 刚刚发布 免费 NuGet 下载 总下载量:5,167,857 查看许可证