KTA API - 如何使用 SDK 通过文档 ID 获取图像文件?

KTA API - How to get image file by document id using SDK?

每当我尝试使用文档 ID 获取图像文件时,都会出现以下错误

Could not load file or assembly 'Kofax.CEBPM.ThinClient.DocumentServices, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cf95ca7471e897ff' or one of its dependencies. The system cannot find the file specified.

仅供参考:文档 ID 有效,我可以在 KTA 的存储库浏览器中搜索图像。

我尝试了不同的方法来获取图像,但都失败了。有帮助吗?

private static void GetDocument(string sessionId, string docId)
{
    try
    {
        CaptureDocumentService captureDocumentService = new CaptureDocumentService();

        ReportingData reportingData = new ReportingData();

        // Using simple GetDocument method
        Document document = captureDocumentService.GetDocument(sessionId, null, docId);

        // Using GetDocumentAsFile with valid path
        captureDocumentService.GetDocumentAsFile(sessionId, docId, @"C:\ValidPath\", "dummy.abc");
    }
    catch (Exception ex)
    {
        Console.WriteLine();
        Console.WriteLine(ex.Message);
    }
}

从错误消息来看,它们要么是权限问题(检查您在 KTA 中的路径和 ACL),要么是您存储库中的文件类型(您确定它是 TIFF 吗?)

就我个人而言,我会选择 GetDocumentFile 方法 - 这个 returns 流,这可能会给您更大的灵活性。这是一个例子:

    public string ExportDocumentImages(string sessionId, string documentId, string outputFolder, string extension)
    {
        var cds = new CaptureDocumentService();
        var doc = cds.GetDocument(sessionId, null, documentId);
    
        Directory.CreateDirectory(outputFolder);
        var fileName = Path.Combine(
            outputFolder,
            doc.Id + extension);
    
        using (var fs = File.Create(fileName))
        {
            var s = cds.GetDocumentFile(sessionId, null, doc.Id, "");
            s.CopyTo(fs);
        }
        return fileName;
    }