Хмм, я не знаю, можно ли делать внутри пользовательского модуля. При написании настраиваемого модуля вы обычно используете 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() ;
UPDATE: возможно создание новой партии и импорта страниц внутри пользовательского модуля. Вы не можете сделать это только с помощью Оптимизированного пользовательского модуля API - вам нужно будет использовать библиотеку доступа к документу Kofax Capture (DBLite.dll). – Brian
Спасибо, это именно то, что я искал. –