是否可以将ImageNow与Javascript和php结合使用?

时间:2013-09-04 11:53:13

标签: php javascript

我目前有一个公司的内部网站,我们的客户支持用户将从我们的客户上传文件。最初,我曾计划使用mysql和受保护的共享网络文件夹的帮助,并使用mysql来保存文件名和路径。但是,我们也将ImageNow用于其他进程。有谁知道ImageNow是否可以在软件本身之外使用javascript和php?我是ImageNow的新手,所以任何建议都表示赞赏。

5 个答案:

答案 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中创建一个文档。

我之前已经构建了这样的解决方案,并且效果非常好。