【问题标题】:KTA API - How to get image file by document id using SDK?KTA API - 如何使用 SDK 按文档 ID 获取图像文件?
【发布时间】:2020-12-17 05:17:03
【问题描述】:

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

无法加载文件或程序集 'Kofax.CEBPM.ThinClient.DocumentServices, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cf95ca7471e897ff' 或其依赖项之一。系统找不到指定的文件。

仅供参考:文档 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);
    }
}

【问题讨论】:

    标签: kofax


    【解决方案1】:

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

    就我个人而言,我会使用GetDocumentFile 方法——这会返回一个流,这可能会给你更多的灵活性。这是一个例子:

        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;
        }
    
    

    【讨论】:

    • 是的,它是 TIFF 文件。我正在尝试从服务器获取文档并本地保存在我的 PC 中。
    • 在运行时未以某种方式复制 Kofax.CEBPM.ThinClient.DocumentServices 库。修复 Dlls 问题后,我现在开始关注 - 错误。找不到以下配置设置:CoreServicesLocation
    • 建议与 Kofax 技术支持联系。他们将帮助您解决此问题。
    • 移近一点,现在我收到以下错误 [Agility.Server.Core.Model.Interfaces.Services.ICaptureDocumentService],不能用于通信,因为它处于故障状态 有人知道我在哪里可以启用或检查此服务吗?
    • 我找不到无法从控制台应用程序获取文档的原因。放弃!? 我通过创建用户界面 Form 实现了我的要求。这可以关闭。
    猜你喜欢
    • 2021-05-15
    • 2021-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-11
    • 1970-01-01
    • 2020-12-11
    相关资源
    最近更新 更多