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;
}
每当我尝试使用文档 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;
}