我正在通过IReleaseScript2接口实现Kofax发布脚本类(也继承了IReleaseScript接口)。
问题是,我需要让我的发布脚本配置依赖于当前选择的作业。
方法设置有一个IJob类型的参数可以,但其他方法不适用。
感谢您的建议!
答案 0 :(得分:1)
您在谈论Kofax Capture还是KTA?在这两种情况下,您都需要引用Kofax.ReleaseLib.Interop。基本上,每个导出连接器(或过去调用的发行脚本)由两部分组成:
设置部件必须实现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活动。