如何在C#中使用OcrProgress跟踪

如何在 C# 中使用 IronOCR 进行进度跟踪

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCR 提供了一个事件订阅功能,用于跟踪 OCR(光学字符识别)读取操作的进度。 这些属性提供了有关 OCR 作业的进度、持续时间和完成状态的宝贵信息,使应用程序能够有效地监控和报告 OCR 过程。

快速入门:订阅 OcrProgress 并阅读 PDF

此示例展示了如何使用 IronOCR 轻松监控 OCR 进度:订阅其内置的OcrProgress事件,并在阅读 PDF 时获得即时反馈(百分比、已完成页数、总页数)。 开头只需几行代码。

Nuget Icon立即开始使用 NuGet 创建 PDF 文件:

  1. 使用 NuGet 包管理器安装 IronOCR

    PM > Install-Package IronOcr

  2. 复制并运行这段代码。

    var ocr = new IronOcr.IronTesseract();
    ocr.OcrProgress += (s, e) => Console.WriteLine(e.ProgressPercent + "% (" + e.PagesComplete + "/" + e.TotalPages + ")");
    var result = ocr.Read(new IronOcr.OcrInput().LoadPdf("file.pdf"));
  3. 部署到您的生产环境中进行测试

    立即开始在您的项目中使用 IronOCR,免费试用!
    arrow pointer


进度跟踪示例

订阅OcrProgress事件即可接收阅读过程的进度更新。 The event will pass an instance containing information about the progress of the OCR job, such as the start time, total pages, progress as a percentage, duration, and end time. Let's use the following document as our sample: "Experiences in Biodiversity Research: A Field Course" by Thea B. 盖斯勒,爱荷华州立大学。

:path=/static-assets/ocr/content-code-examples/how-to/progress-tracking-progress-tracking.cs
using IronOcr;
using System;

var ocrTesseract = new IronTesseract();

// Subscribe to OcrProgress event
ocrTesseract.OcrProgress += (_, ocrProgressEventsArgs) =>
{
    Console.WriteLine("Start time: " + ocrProgressEventsArgs.StartTimeUTC.ToString());
    Console.WriteLine("Total pages number: " + ocrProgressEventsArgs.TotalPages);
    Console.WriteLine("Progress(%) | Duration");
    Console.WriteLine("    " + ocrProgressEventsArgs.ProgressPercent + "%     | " + ocrProgressEventsArgs.Duration.TotalSeconds + "s");
    Console.WriteLine("End time: " + ocrProgressEventsArgs.EndTimeUTC.ToString());
    Console.WriteLine("----------------------------------------------");
};

using var input = new OcrInput();
input.LoadPdf("Experiences-in-Biodiversity-Research-A-Field-Course.pdf");

// Progress events will fire during the read operation
var result = ocrTesseract.Read(input);
Imports IronOcr
Imports System

Private ocrTesseract = New IronTesseract()

' Subscribe to OcrProgress event
Private ocrTesseract.OcrProgress += Sub(underscore, ocrProgressEventsArgs)
	Console.WriteLine("Start time: " & ocrProgressEventsArgs.StartTimeUTC.ToString())
	Console.WriteLine("Total pages number: " & ocrProgressEventsArgs.TotalPages)
	Console.WriteLine("Progress(%) | Duration")
	Console.WriteLine("    " & ocrProgressEventsArgs.ProgressPercent & "%     | " & ocrProgressEventsArgs.Duration.TotalSeconds & "s")
	Console.WriteLine("End time: " & ocrProgressEventsArgs.EndTimeUTC.ToString())
	Console.WriteLine("----------------------------------------------")
End Sub

Private input = New OcrInput()
input.LoadPdf("Experiences-in-Biodiversity-Research-A-Field-Course.pdf")

' Progress events will fire during the read operation
Dim result = ocrTesseract.Read(input)
$vbLabelText   $csharpLabel
进度更新

活动信息

  • ProgressPercent :表示 OCR 作业的进度,以已完成页面数的百分比表示。 其范围从 0 到 100。
  • TotalPages :表示 OCR 引擎正在处理的页面总数。
  • PagesComplete :指定 OCR 读取已完全完成的页数。 随着页面处理,此计数可能会逐渐增加。
  • Duration :表示 OCR 作业的总持续时间,指示完成整个过程所需的时间。 它以 TimeSpan 格式衡量。 每次事件触发时,此时间都会更新。
  • StartTimeUTC :表示 OCR 作业开始的日期和时间,以协调世界时 (UTC) 格式表示。
  • EndTimeUTC :表示 OCR 作业 100% 完成的日期和时间(UTC 格式)。 OCR 过程进行中时,此属性为空;OCR 过程完成后,此属性将被填充。

常见问题解答

如何在C#中跟踪OCR作业的进度?

您可以通过在IronOCR中订阅OcrProgress事件来跟踪C#中OCR作业的进度。此事件提供有关完成百分比、持续时间和已处理页数的更新。

OcrProgress事件在OCR操作中的作用是什么?

IronOCR中的OcrProgress事件允许开发人员实时接收OCR作业状态的更新,包括进度百分比、总持续时间、开始和结束时间,以及正在处理的总页数。

ProgressPercent属性提供什么信息?

IronOCR中的ProgressPercent属性指示OCR作业的百分比进度,提供任务完成情况,从0到100不等。

如何获取OCR过程的总持续时间?

您可以通过访问IronOCR中的Duration属性获取OCR过程的总持续时间,该属性在每次OcrProgress事件触发时更新,以反映整个过程所花费的时间。

我能确定OCR作业何时开始和结束吗?

是的,IronOCR提供StartTimeUTCEndTimeUTC属性,分别表示以UTC格式的OCR作业的开始和完成时间。

如何在OCR处理期间处理多页?

在IronOCR中,您可以通过使用TotalPagesPagesComplete属性来处理多页,以跟踪正在处理的总页数和已完全处理的页数。

使用进度跟踪在OCR中的实际例子是什么?

一个实际例子是处理名为《生物多样性研究经历:实地课程》的样本文档时,订阅OcrProgress事件。这展示了在IronOCR中跟踪进度、持续时间和完成状态的过程。

Chaknith Bin
软件工程师
Chaknith 在 IronXL 和 IronBarcode 工作。他在 C# 和 .NET 方面有着深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的见解有助于更好的产品、文档和整体体验。
准备开始了吗?
Nuget 下载 5,167,857 | Version: 2025.11 刚刚发布