我目前有一个公司的内部网站,我们的客户支持用户将从我们的客户上传文件。最初,我曾计划使用mysql和受保护的共享网络文件夹的帮助,并使用mysql来保存文件名和路径。但是,我们也将ImageNow用于其他进程。有谁知道ImageNow是否可以在软件本身之外使用javascript和php?我是ImageNow的新手,所以任何建议都表示赞赏。
答案 0 :(得分:2)
不幸的是,ImageNow并不能让您获得Perceptive Software提供的工具以外的信息。即使您直接挖掘SQL数据库并查看存储文件的文件系统,也无法获取信息。 ImageNow将未加密的文件存储在文件系统上,这样就可以了,它将这些图像的元数据存储在数据库中易于搜索的表中。但是,在将元数据存储到数据库之前,它将从元数据到文件系统的路径加密。因此,如果您尝试从元数据转移到图像,那么您可以获得的最远的是加密路径。没有解密密钥,您就无法访问图像。
但是,有一种方法可以编写代码来使用ImageNow数据。您需要添加消息代理 - 您需要从Perceptive购买。这打开了使用Web服务和SOAP获取ImageNow数据的接口。
答案 1 :(得分:2)
ImageNow有一种脚本语言,可以让您通过数据库中的加密文件路径。文件路径在INLogicalObject的未记录成员中可用。访问它的详细信息位于以下博客中。 Accessing the encrypted file path in ImageNow
答案 2 :(得分:2)
logObArray = getDocLogobArray(workingDoc);
for (var i=0; i<logObArray.length; i++)
{
var docObj = logObArray[i];
var filePath = docObj.filePath;
var fileType = docObj.fileType;
var ftToCheck = fileType.toUpperCase();
var phsobID = docObj.phsobId;
//write OSM info to the file, you'll have to add the other code around this but premise is correct and tested
var outRow = filePath;
outRow = outRow + '\n';
if (Clib.fputs(outRow, outCsvFP) >= 0)
{
debug.log('DEBUG', 'Wrote OSM Path [%s] to file successfully.\n', filePath);
stats.inc('Wrote OSM Path to file');
}
}
答案 3 :(得分:1)
这是完整的解决方案。它获取根文件和后续页面。除了扫描文档的首页之外,我发现的所有其他解决方案都无法得到任何帮助。将您的抽屉更改为您自己的抽屉名称(btw)。我希望这可以帮助别人。锁定人们内容的公司真的让我发疯。只需使用intool.exe实用程序。它位于安装的/ bin文件夹中。调用是:intool --cmd run-iscript --file yourfile.js
var curDocId = 0;
var more = true;
// printf("curDocId : %s\n", curDocId );
while (more) {
var rulestext = "[drawer] = 'AR' AND [docID] > '" + curDocId + "'";
var items = INDocManager.getDocumentsByVslQuery(rulestext, 1000, more, "DOCUMENT_ID");
var start = items[0];
var dataDesc = new Array();
var headerDelim = "\03"
var dataDelim = "\02";
for (var line=1; line <= start; line++) {
var temp = items[line].split(headerDelim);
dataDesc[temp[1].toUpperCase()] = new Object();
dataDesc[temp[1].toUpperCase()].idx = line - 1;
dataDesc[temp[1].toUpperCase()].name = temp[1];
dataDesc[temp[1].toUpperCase()].datatype = temp[2];
}
for ( ; line < items.length; line++) {
var doc = new INDocument(items[line].split(dataDelim)[dataDesc["DOCUMENT ID"].idx]);
doc.id = items[line].split(dataDelim)[dataDesc["DOCUMENT ID"].idx];
doc.getInfo();
var masterDocId = doc.id;
var itCounter = 150;
var i = 1;
for( ; i <= itCounter; i++)
{
doc.getInfo();
var logob = INLogicalObject( doc.id, -1, i );
logob.retrieveObject();
if(logob && logob.logobCount > 0)
{
var fp = Clib.fopen("c:\\inowoutput.txt", "a");
var line = masterDocId + ',' + logob.id + ',' + logob.workingName + ',' + logob.filePath + '\n';
Clib.fputs(line, fp);
Clib.fclose(fp);
}
else
{
break;
}
}
curDocId = doc.id;
}
//printf("curDocId : %s\n", curDocId );
}
答案 4 :(得分:0)
查看ImageNow中的外部邮件代理(EMA)功能。这是一个免费模块,可在每个安装中使用。
EMA允许您从ImageNow系统外部接收数据(例如,从PHP Web表单)。
要使用EMA,您只需要将PHP脚本插入到IN_EXTERN_MSG和IN_EXTERN_MSG_PROP表中。其中一个属性可能是通过PHP上传的文件的位置。
然后,您需要一个iScript来解析EMA表中的数据并在ImageNow中创建一个文档。
我之前已经构建了这样的解决方案,并且效果非常好。