2017-02-20 41 views
0

我正在通過IReleaseScript2接口(也繼承IReleaseScript接口)實現Kofax發佈腳本類。Kofax - 如何使發佈腳本配置依賴於活動作業

問題是,我需要讓我的發佈腳本的配置依賴於當前選定的作業。

方法設置有一個IJob類型的參數,但是其他方法沒有。

感謝您的諮詢!

回答

0

您是否在談論Kofax Capture或KTA?在這兩種情況下,您都需要對Kofax.ReleaseLib.Interop的引用。基本上,每個導出連接器(或釋放腳本,如過去所稱)由兩部分組成:

  1. 安裝部分 - 這是配置所在的位置。在管理中將導出連接器添加到文檔類時,您需要配置它並存儲配置。
  2. 版本部分 - 這是「真實事件」發生的地方,即文檔被導出到磁盤,數據庫等等。

設置部分必須實現IReleaseSetupScript,因此添加下面的方法(這是一個stub):

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活動。

+0

謝謝,就是這樣 – Zelda