Хм, я не знаю, возможно ли это сделать внутри пользовательского модуля. При написании пользовательского модуля вы обычно используете API оптимизированного пользовательского модуля Kofax Capture (DBLiteOpt.dll). Я знаю, что вы можете создать пустой пакет с помощью пользовательского модуля, используя метод BatchCreate объекта RuntimeSession:
'*** Get your Process Id
pid = m_oLogin.ProcessId '*** Create new batch
Set m_oBatch = m_oRuntimeSession.BatchCreate("SomeBatchClass", "MyBatch", pid)
К сожалению, я не знаю ни одного способа импортировать документы в этот пакет.
Вы всегда можете просто создать отдельную программу, которая импортирует пакет. Вот некоторый псевдокод C #:
Kofax.AscentCaptureModule.ImportLogin myLogin ;
Kofax.AscentCaptureModule.Application myApp;
// login first
myLogin = new Kofax.AscentCaptureModule.ImportLogin() ;
myApp = myLogin.Login("myUsername", "myPassword") ;
// create a new batch
Kofax.AscenCaptureModule.BatchClass myBatchClass =
myApp.BatchClasses["MyBatchClassName"];
Kofax.AscentCaptureModule.Batch =
myApp.CreateBatch(ref myBatchClass, "TheNameOfMYBatch");
// create a new document and set its form type
Kofax.AscentCaptureModule.Document myDoc ;
Kofax.AscentCaptureModule.Page myPage = null ;
myDoc = myBatch.CreateDocument(null) ;
Kofax.AscentCaptureModule.FormType myFormType =
myBatch.FormTypes[1] // - just hardcoded a form type here
myDoc.set_FormType(ref myFormType) ;
// add some pages to the doc
Kofax.AscentCaptureModule.Pages myPages = myBatch.ImportFile("SomeFilePath") ;
foreach(Kofax.AscentCaptureModule.Page myPage in myPages)
{
myPage.MoveToDocument(ref myDoc, null) ;
}
myApp.CloseBatch() ;