这是我发现的一个难题。'没有文档窗口打开'错误
我有一个脚本可以在InDesign中打开一个文件,对它做一些工作,然后关闭它。为了帮助加速这一过程,我已经关闭了通过使用false
参数显示文件打开文件时,像这样:
var document = app.open(oFile, false);
有时,同时做在一个开放的文件中的一些工作,该脚本可能需要需要从11英寸调整某个页面高大的12.5英寸高,正是如此:
if (padPrinted) {
for (var p = 0; p < outputRangeArray.length; p++) {
var padPage = document.pages.item(outputRangeArray[p]);
if (padPage.bounds[2] - padPage.bounds[0] === 11) {
padPage.select();
var myY1 = padPage.bounds[0] -= 0.75;
var myX1 = padPage.bounds[1];
var myY2 = padPage.bounds[2] += 0.75;
var myX2 = padPage.bounds[3];
padPage.reframe(CoordinateSpaces.INNER_COORDINATES, [[myX1*72, myY1*72], [myX2*72, myY2*72]]);
}
}
}
这已经完美地为我工作了一段时间,但现在它有时与消息行padPage.select()
错误:
没有文档窗口打开。
如果我回到打开文件并删除false
参数的行,那么脚本工作正常。
所以,我想知道是否有任何方法来解决这个问题。我希望在不显示文档的情况下打开文档,但仍然可以在需要时调整页面大小。有任何想法吗?
按照[Adobe公司的InDesign CS6 脚本编程指南:使用Javascript]第41页(http://wwwimages.adobe.com/www.adobe.com/content/dam /Adobe/en/devnet/indesign/sdk/cs6/scripting/InDesign_ScriptingGuide_JS.pdf),“在更改页面大小或对页面应用转换之前,必须选择页面。” – Sturm
@Sturm我的回复太长了,所以我编辑了我的回答。 – dln385
就是这样。我记得在没有成功之前尝试使用'.reframe()'方法,但页面上的'.select()'方法使其工作。或者我只是记得不正确。无论如何,你对第42页上的剪切都是正确的 - 我从来没有注意到之前遗漏了'.select()'。 此外,感谢您捕捉'+ ='和' - ='失误。我最初试图让它在没有将这些变量分配给变量的情况下工作,但是我很快发现'bounds'是只读的,之后忘记了删除赋值运算符。 再次感谢,dln385,你真棒! – Sturm