gpt4 book ai didi

javascript - Acrobat 的 "This file is already open"消息

转载 作者:行者123 更新时间:2023-12-03 10:46:47 24 4
gpt4 key购买 nike

这真是一个奇怪的事情。我们公司有一个 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 中仍然打开着两个文档,而应该保存的文档却没有得到保存。

对这里发生的事情有什么想法吗?

最佳答案

我终于发现问题所在了。我觉得这(几乎)明显有点傻,但也许它可能对处于我这种情况的其他人有所帮助。

我禁用了 InDesign 主脚本中调用 Acrobat 的行,认为在处理完其他一些问题后我会再回到该问题。当我这样做并再次运行主脚本时,我发现 Acrobat 实际上已经在主脚本执行期间的某个时候打开了该封面 PDF 的副本!一开始我很震惊,但当我很快意识到原因时,我做了一个 headdesk:

默认情况下,此计算机上的 InDesign 设置为在导出 PDF 后自动打开该 PDF。

因此,我只是在代码中添加了一行短行来设置 PDF 导出首选项以关闭该功能:

with (app.pdfExportPreferences)
{
pageRange = proofRange;
if (multiColor) pageRange = colorTable.toString();
useSecurity = true;
disallowChanging = true;
disallowCopying = false;
disallowDocumentAssembly = true;
disallowExtractionForAccessibility = false;
disallowFormFillIn = true;
disallowHiResPrinting = false;
disallowNotes = true;
disallowPlaintextMetadata = true;
disallowPrinting = false;
changeSecurityPassword = "(NOPE)";
viewPDF = false;
}

这是最后的 viewPDF 行。 (抱歉,我不认为我可以用 Markdown 来突出显示它。)我确实觉得自己很愚蠢,因为我忽略了这样一个半明显的原因,但我希望这可以帮助遇到类似问题的其他人。无论如何,感谢您尝试提供帮助,@Loic。

关于javascript - Acrobat 的 "This file is already open"消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28551165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com