0

我正在通过 IReleaseScript2 接口(也继承 IReleaseScript 接口)实现 Kofax 发布脚本类。

问题是,我需要让我的发布脚本的配置依赖于当前选择的作业。

Method Setup 有一个 IJob 类型的参数,这是可以的,但其他方法没有。

谢谢你的建议!

4

1 回答 1

1

您是在谈论 Kofax Capture 还是 KTA?在这两种情况下,您都需要对 Kofax.ReleaseLib.Interop 的引用。基本上,每个导出连接器(或过去称为发布脚本)都由两部分组成:

  1. 设置部分 - 这是配置所在的位置。在管理中将导出连接器添加到文档类时,您希望对其进行配置并存储配置。
  2. 发布部分——这是“真正的事情”发生的地方,即文档被导出到磁盘、数据库等。

设置部分必须实现 IReleaseSetupScript,因此添加以下方法(这是一个存根):

public interface IReleaseSetupScript
{
    ReleaseSetupData SetupData { set; }
    KfxReturnValue OpenScript();
    KfxReturnValue CloseScript();
    KfxReturnValue RunUI();
    KfxReturnValue ActionEvent(KfxActionValue Action, string strData1, string strData2);
}

最重要的部分是 RunUI 方法 - 在这里您要显示一个对话框,让用户进行配置,然后存储它。假设您要将文档导出到磁盘 - 您想为用户提供一个文本框,他们可以在其中输入路径。所述路径作为链接存储在 SetupData 对象中。

发布部分本身必须实现IReleaseScript (或者,就此而言,IReleaseScript2),这是方法的存根:

public interface IReleaseScript
{
    ReleaseData DocumentData { set; }
    KfxReturnValue OpenScript();
    KfxReturnValue CloseScript();
    KfxReturnValue ReleaseDoc();
}

你会看到这是怎么回事。OpenScript 和 CloseScript 每个批处理(即作业或批处理类的实例)调用一次。对所述批次中的每个文档调用一次 ReleaseDoc。同样,您可以通过 ReleaseData 对象(自定义属性或值作为键值对)访问配置。

如果您在谈论 KTA,那么我建议您不要编写导出连接器,而是使用一个 dll 来访问您将作为 .net 活动添加的当前作业的对象(例如文档、元数据)。

于 2017-03-03T12:48:47.083 回答