如何在Adobe Acrobat中使用SaveAs功能

时间:2015-07-14 12:55:06

标签: javascript pdf acrobat

我试图将javascript实现为pdf按钮。一旦你点击它,它就会允许你。 我知道存在安全问题,不允许您在pdf中使用此功能。并且它要求您放置一个SaveAs Javascript以使其成为计算机中的可信函数。所以我把以下代码作为我的计算机中的可信函数。

var mySaveAs = app.trustedFunction(
   function(oDoc,cPath,cFlName)
   {
      // Ensure path has trailing "/"
      cPath = cPath.replace(/([^/])$/, "$1/");
      try{
         oDoc.saveAs(cPath + cFlName);
      }catch(e){
         app.alert("Error During Save");
      }
   }
);

我在我的pdf文件按钮中有这些代码,它允许我保存另一个名称为" 123.pdf"的pdf文件。

var doc = app.activeDocs;
var aMyPath = this.path.split("/");
aMyPath.pop();
var pathname = aMyPath.join("/")
if(typeof(mySaveAs) == "function"){ 
    mySaveAs(doc,pathname,"345.pdf")
}else{
    app.alert("Missing Save Fucntion" + "Please contact forms administrator");
}

我不知道为什么,但它仍然会给我一条错误消息,提示"保存期间出错"。有谁知道原因?或者,在Acrobat中使用JavaScript可以更轻松地使用SaveAs功能。提前谢谢。

2 个答案:

答案 0 :(得分:0)

我有类似的旧代码,并使用下面的代码将当前文件保存在新文件夹中。我在Adobe 6中使用过它。检查这是否适合你。

this.saveAs(destfolder+filename);

答案 1 :(得分:0)

app.activeDocs是一个Doc对象数组。因此,变量doc(没有最聪明的名字,BTW)是一个数组。

但是,保存功能需要一个Doc对象才能工作。

尝试更换

mySaveAs(doc,pathname,"345.pdf")

mySaveAs(this,pathname,"345.pdf")

会起作用。