繁体   English   中英

使用Acrobat JavaScript检查文件是否存在

[英]Check if file exists using Acrobat javascript

我试图在运行其他代码之前确定桌面上是否存在特定的.xml文件。 以下受信任脚本位于我的Javascripts文件夹级目录中。 以下注释为“第一部分”的部分仅将表单的所有字段设置为可打开/可写。 第二部分寻找.xml文件,从中导入XFA数据。

我的问题是,我想首先确定此.xml文件是否存在。 现在,如果该文件不存在,它将显示一个对话框,以浏览该文件。 相反,我希望它在xml文件不存在时显示警报,并且从不显示对话框 我究竟做错了什么?

任何帮助都是巨大的,谢谢

码:

var myTrustFunctTwo = app.trustedFunction(function(doc)
{

//First Part
  for (var nPageCount = 0; nPageCount < doc.numPages; nPageCount++) {
        var oFields = doc.xfa.layout.pageContent(nPageCount, "field");
  //app.alert(oFields,0);
        var nNodesLength = oFields.length;
        // Set the field property.
        for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
            oFields.item(nNodeCount).access = "open";
        }
    }

//Second Part
app.beginPriv();
doc.importXFAData({
          cPath:"/c/Users/ME/Desktop/Filled_In.xml"
                 });
app.endPriv();
});
app.trustedFunction(myTrustFunctTwo);

更新代码,包括尝试/捕获块

var myTrustFunctTwo = app.trustedFunction(function(doc) {

    for (var nPageCount = 0; nPageCount < doc.numPages; nPageCount++) {
        var oFields = doc.xfa.layout.pageContent(nPageCount, "field");
        //app.alert(oFields,0);
        var nNodesLength = oFields.length;
        // Set the field property.
        for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
            oFields.item(nNodeCount).access = "open";
        }
    }


    try {

        app.beginPriv();
        doc.importXFAData({
            cPath: "/c/Users/ME/Desktop/Filled_In.xml"
        });
        app.endPriv();

    } catch (e) {
        app.alert("No File Found", 1);
    }


});

app.trustedFunction(myTrustFunctTwo);

如果您尝试导入的文件不存在,您将收到一条错误消息。 使用try…catch ,您可以捕获该消息并退出函数,从而防止后续代码运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM