UiPath Documentation
activities
latest
false

Document Understanding 活动

上次更新日期 2026年5月5日

OCR 代码活动类

定义

  • 命名空间: UiPath.OCR.Contracts.Activities
  • 程序集: UiPath.OCR.Contracts

描述

必须实现的抽象类,才能从 Workflow Foundation 框架构造 CodeActivity

成员

方法
  • BeforeExecute(System.Activities.CodeActivityContext) System.Collections.Generic.Dictionary<string, object> - 覆盖此方法以计算并提供除图像参数以外的所有活动输入参数,并以字典形式返回活动输入参数,其中键为参数名称,值为参数值。
    备注:

    At design time, when no context is available, the method's parameters are null. In this case, the activity arguments can't be read, so you may want to provide default values for them.

  • Execute(System.Activities.CodeActivityContext) System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.Drawing.Rectangle, string>>
  • OCRCodeActivity()
  • OnSuccess(System.Activities.CodeActivityContext, UiPath.OCR.Contracts.DataContracts.OCRResult) void OnSuccess(System.Activities.CodeActivityContext context, UiPath.OCR.Contracts.DataContracts.OCRResult result) - 计算 OCR 结果后调用此方法。 它可用于设置输出参数或任何其他最终操作。
  • PerformOCRAsync(System.Drawing.Image, System.Collections.Generic.Dictionary<string, object>, System.Threading.CancellationToken) System.Threading.Tasks.Task<UiPath.OCR.Contracts.DataContracts.OCRResult> - 处理图像并返回提取的文本信息。“选项”参数是一个活动参数字典,其中键为参数名称,值为参数值。
属性
  • ExtractWords - 获取或设置是否应提取单词。
  • Image System.Activities.InArgument<System.Drawing.Image> - 要处理的图像。
  • Language System.Activities.InArgument<string> -
  • Output System.Activities.OutArgument<UiPath.OCR.Contracts.OcrActivityResult> -
  • Text System.Activities.OutArgument<UiPath.OCR.Contracts.OcrActivityResult> -

代码示例

[DisplayName("Sample OCRCodeActivity")]
internal class SampleOCRCodeActivity : OCRCodeActivity
    {
        public InArgument<string> CustomInput { get; set; }

        public OutArgument<string> CustomOutput { get; set; }

        public override Task<OCRResult> PerformOCRAsync(Image image, Dictionary<string, object> options, CancellationToken ct)
        {
            string customInput = options[nameof(CustomInput)] as string;
            string text = $"Text from {nameof(SampleOCRCodeActivity)} with custom input: {customInput}";
            return Task.FromResult(OCRResultHelper.FromText(text));
        }

        protected override void OnSuccess(CodeActivityContext context, OCRResult result)
        {
            CustomOutput.Set(context, $"Custom output: '{result.Text}' has {result.Words.Length} words.");
        }

        protected override Dictionary<string, object> BeforeExecute(CodeActivityContext context)
        {
            return new Dictionary<string, object>
            {
                { nameof(CustomInput), CustomInput.Get(context) }
            };
        }
    }
[DisplayName("Sample OCRCodeActivity")]
internal class SampleOCRCodeActivity : OCRCodeActivity
    {
        public InArgument<string> CustomInput { get; set; }

        public OutArgument<string> CustomOutput { get; set; }

        public override Task<OCRResult> PerformOCRAsync(Image image, Dictionary<string, object> options, CancellationToken ct)
        {
            string customInput = options[nameof(CustomInput)] as string;
            string text = $"Text from {nameof(SampleOCRCodeActivity)} with custom input: {customInput}";
            return Task.FromResult(OCRResultHelper.FromText(text));
        }

        protected override void OnSuccess(CodeActivityContext context, OCRResult result)
        {
            CustomOutput.Set(context, $"Custom output: '{result.Text}' has {result.Words.Length} words.");
        }

        protected override Dictionary<string, object> BeforeExecute(CodeActivityContext context)
        {
            return new Dictionary<string, object>
            {
                { nameof(CustomInput), CustomInput.Get(context) }
            };
        }
    }
  • 定义
  • 描述
  • 成员
  • 代码示例

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新