IronOCR 操作指南 异步和多线程支持 C# IronOCR 的异步和多线程支持。 Chipego Kalinda 已更新:一月 10, 2026 下载 IronOCR NuGet 下载 DLL 下载 Windows 安装程序 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronOCR 可在所有 CPU 内核上自动处理多线程,并提供 ReadAsync() 等异步方法,以便在不阻塞主线程的情况下执行 OCR,从而确保在处理大型文档时应用程序的响应速度。 简介 <! -- 待办事项:在此处添加图片 --> <! -- --> <!--说明:说明代码概念的图表或截图 --> 高效处理大量文本数据需要 OCR 操作的准确性和速度。 本文介绍 IronOCR 和 Tesseract 中的异步支持和多线程功能。 异步编程实现了无阻塞 OCR 执行,使应用程序在执行文本识别任务时保持响应。 多线程提供并行性,可显著提高 OCR 性能。 这些技术可帮助开发人员提高 OCR 驱动的应用程序的效率和响应能力。 快速入门:使用 ReadAsync 轻松实现异步 OCR 使用 IronTesseract 的 ReadAsync 方法执行 OCR,而不会阻塞主线程。 这将为您的应用程序快速添加反应灵敏、无阻塞的 OCR 功能。 在 处理 PDF 文档或同时处理多个图像文件时,效果尤佳。 立即开始使用 NuGet 创建 PDF 文件: 使用 NuGet 包管理器安装 IronOCR PM > Install-Package IronOcr 复制并运行这段代码。 var result = await new IronOcr.IronTesseract().ReadAsync("image.png"); 部署到您的生产环境中进行测试 立即开始在您的项目中使用 IronOCR,免费试用! 免费试用30天 最小工作流程(5 个步骤) 下载一个支持 Tesseract 的 C# 库,该库支持异步和多线程。 利用 IronOCR 管理的多线程 准备PDF文档和图像以进行读取 使用 OcrReadTask 对象来利用异步并发的优势 为了方便起见,请使用ReadAsync方法 IronOCR 中的多线程是如何工作的? <!-- 说明:显示逐步过程的截图 --> IronOCR 通过无缝多线程提高了图像处理和 OCR 阅读效率,不需要开发人员提供专门的 API。 [`IronTesseract`](https://ironsoftware.com/csharp/ocr/how-to/iron-tesseract/)自动利用多个内核中的所有可用线程,优化系统资源以快速执行 OCR。 这种内置的多线程功能通过将并行性直接集成到 OCR 工作流程中,简化了开发过程并显著提高了性能。 该库的[多线程 Tesseract 实现](https://ironsoftware.com/csharp/ocr/examples/csharp-tesseract-multithreading-for-speed/)具有这些关键优势: - **自动 CPU 内核利用率**:IronOCR 可检测并使用所有可用内核,无需手动配置 - **线程安全操作**:所有 OCR 操作默认情况下都是线程安全的 - **优化资源管理**:跨线程高效分配内存和处理资源 - **可扩展的性能**:处理时间随可用内核数量成比例减少 下面是一个 C# 语言的多线程读取示例: ```csharp :path=/static-assets/ocr/content-code-examples/how-to/async-simple-multithreading.cs ``` 对于需要[快速 OCR 配置](https://ironsoftware.com/csharp/ocr/examples/tune-tesseract-for-speed-in-dotnet/)的高级场景,开发人员可以微调多线程行为,以满足特定的性能要求,同时保持准确性。 如何在 IronOCR 中使用异步支持? <!-- 说明:显示逐步过程的截图 --> 异步编程允许开发人员在不阻塞主线程的情况下执行 OCR 任务,从而优化了 OCR 性能。 这样才能在处理大型文档或图像进行文本识别时保持应用程序的响应速度。 异步支持使系统能够在后台运行 OCR 操作的同时处理其他任务。 在用户界面中实施 [OCR 进度跟踪](https://ironsoftware.com/csharp/ocr/examples/progress-tracking/)时,这种能力至关重要。 本节涉及 IronOCR 中的异步支持集成,演示了使 OCR 服务非阻塞的不同方法。 IronOCR 的异步功能可确保在 OCR 操作过程中要求响应速度的桌面应用程序和处理多个并发 OCR 请求的网络服务都能获得最佳性能。 何时使用 OcrReadTask 对象? `OcrReadTask` 对象增强了 IronOCR 在 OCR 流程中的控制和灵活性。 这些对象封装了 OCR 操作,允许高效管理文本识别任务。 本节演示在 IronOCR 工作流中使用 `OcrReadTask` 对象,并展示它们如何启动和优化 OCR 任务。 `OcrReadTask` 对象有助于在协调复杂文档处理或微调应用程序响应速度时最大限度地发挥 IronOCR 的功能。 `OcrReadTask`对象在以下情况下效果最佳: - 您需要对任务执行进行细粒度控制 - 为可取消操作实现 取消标记功能如何使用 ReadAsync 方法? `ReadAsync()` 为异步启动 OCR 操作提供了直接机制。 无需复杂的线程或任务管理,开发人员就可以将异步 OCR 集成到他们的应用程序中。 这种方法可以防止主线程在执行 OCR 任务时阻塞,确保应用程序保持响应速度。 `ReadAsync` 方法适用于以下情况: - 需要保持用户界面响应速度的桌面应用程序 - 处理多个同步 OCR 请求的网络应用程序 - [进度跟踪](https://ironsoftware.com/csharp/ocr/how-to/progress-tracking/)至关重要的批处理场景 - 在 .NET 应用程序中集成现代异步/等待模式 ```csharp :path=/static-assets/ocr/content-code-examples/how-to/async-read-async.cs ``` 为什么要使用 IronOCR 的异步和多线程功能? IronOCR 将异步支持和多线程结合在一起,为现代应用程序开发带来了诸多好处: **性能优势:** - **提高吞吐量**:同时处理多个文档而不会阻塞 - **更好的资源利用**:最大限度地提高所有可用内核的 CPU 使用率 - **减少延迟**:立即开始处理,无需等待之前的操作完成 - **可扩展架构**:无需更改架构即可处理不断增加的工作负载 **开发优势:** - **简化代码**:无需手动管理线程--IronOCR 处理复杂问题 - **现代模式**:在 [Tesseract 5 for .NET](https://ironsoftware.com/csharp/ocr/examples/csharp-tesseract-5/) 中全面支持异步/等待模式 - **轻松集成**:与现有 .NET 异步基础架构无缝协作 - **可维护解决方案**:遵循 .NET 最佳实践的清晰、可读的代码 IronOCR 中的多线程技术大大优化了 OCR 任务。 内置的多线程功能与 `ReadAsync()` 等方法相结合,简化了对大量文本数据的处理。 这种组合可确保应用程序保持响应速度和效率,使 IronOCR 成为创建具有精简文本识别功能的高性能软件的有效工具。 要开始使用完整的[功能集](https://ironsoftware.com/csharp/ocr/features/),请查看我们的[NuGet 软件包安装指南](https://ironsoftware.com/csharp/ocr/get-started/advanced-installation-nuget/)。 常见问题解答 如何在 C# 中异步执行 OCR 而不阻塞主线程? IronOCR 提供的 ReadAsync 方法可实现无阻塞 OCR 执行。您可以简单地使用 `var result = await new IronOcr.IronTesseract().ReadAsync("image.png");` 来异步执行 OCR,在处理文档的同时保持应用程序的响应性。 OCR 是否会自动使用多个 CPU 内核以提高性能? 是的,IronOCR 通过内置多线程自动利用所有可用的 CPU 内核。IronTesseract 可检测并利用所有内核,无需手动配置,从而提供优化的资源管理和可扩展的性能。 多线程在 OCR 处理中的主要优势是什么? IronOCR 的多线程实现提供了自动 CPU 内核利用、默认线程安全操作、优化的内存和处理资源管理,以及处理时间随可用内核成比例减少的可扩展性能。 能否使用异步 OCR 同时处理多个 PDF 文档? 是的,IronOCR 的 ReadAsync 方法在处理 PDF 文档或同时处理多个图像文件时效果特别好,允许您并发处理多个文档,而不会阻塞您的应用程序。 我需要编写特殊代码来启用 OCR 的多线程功能吗? 不,IronOCR 不需要专门的 API 或手动配置来实现多线程。该库可将并行性直接无缝集成到 OCR 工作流程中,自动管理多个内核的线程,以获得最佳性能。 什么是 OcrReadTask 对象,它对异步处理有何帮助? IronOCR 中的 OcrReadTask 对象可让您在处理文档时利用异步并发的优势。通过它,您可以异步管理 OCR 操作,同时该库可以处理底层的多线程复杂性。 IronOCR 是否完全兼容 .NET 10? IronOCR 通过其最新发布的 2025.12 版本支持 .NET 10。您可以使用 NuGet(Install-Package IronOcr)安装该库,并在 .NET 10 下运行 ReadAsync() 等异步方法,而无需特殊配置。 Chipego Kalinda 立即与工程团队聊天 软件工程师 Chipego 拥有倾听的天赋,帮助他理解客户问题,并提供智能解决方案。他于 2023 年加入 Iron Software 团队,学习了信息技术学士学位。IronPDF 和 IronOCR 是 Chipego 关注的两个产品,但由于他发现了支持客户的新方法,因此他的所有产品知识每天都在增长。他喜欢 Iron Software 的协作生活,公司各个成员利用他们的多样经验来贡献有效的创新解决方案。当 Chipego 离开办公桌时,他常常读书或踢足球。 准备开始了吗? Nuget 下载 5,246,844 | 版本: 2025.12 刚刚发布 免费 NuGet 下载 总下载量:5,246,844 查看许可证