这是一个非常奇怪的问题。我们公司有一个 InDesign 脚本,它在接近尾声时调用 Acrobat(通过 Applescript)打开 PDF 文件,替换其中的页面,然后保存文件并关闭它。我们已经使用这个脚本一年半了,在我们拥有的 9 台计算机中的 8 台上没有任何问题。然而,最后一个在尝试打开和保存文件时给了我一个奇怪的消息。
需要明确的是,所有 9 台计算机都是 Mac,都运行 OS X 10.9.5 Mavericks。该脚本位于中央服务器上,因此它们都使用相同的文件:
var unlockCover2014 = app.trustedFunction(function (fName, fPrefix)
{
app.beginPriv();
var folderPrefix = fName.match(/^.*?(?=JOBS)/);
console.println("fName is " + fName);
console.println("folderPrefix is " + folderPrefix);
var myDoc = app.openDoc(folderPrefix + "Product Templates/ProofCoverNew/proof_cover_2014.pdf");
myDoc.replacePages(0, fName, 0, 0);
myDoc.saveAs(fName);
myDoc.closeDoc(true);
app.endPriv();
});
此文件存储在正确的文件夹中,成为文件夹级脚本。其中 8 台计算机可以毫无问题地完成此操作。然而,第 9 个将其放入 Acrobat 的 Javascript 控制台:
fName is /ArtDept/ArtDept/JOBS/425000-425999/425000 Folder/425000_cover.pdf
folderPrefix is /ArtDept/ArtDept/
RaiseError: This file is already open.
Doc.saveAs:9:
===> This file is already open.
我不明白为什么这台计算机单独认为 PDF 文件已经打开。由此产生的问题是,当 InDesign 主脚本运行完毕后,两个文档仍然在 Acrobat 中打开,而应该保存的文档却没有保存。
关于这里发生了什么的任何想法?