感谢这里所有乐于助人的人,我已经为 InDesign CS6 学习了大量的脚本!现在,为文档设置 printPreferences 是个问题。这是我的代码:
with(document.printPreferences) {
activePrinterPreset = outputPreset;
pageRange = outputRange;
for (var j = 0; j < allInks.length; j++) {
document.inks.item(allInks[j]).printInk = false;
}
for (var k = 0; k < printInks.length; k++) {
if (printInks[k].toString() === "Black") {
$.writeln("Found Black!");
printBlack = true;
$.writeln("Set Black!");
} else {
document.inks.item(printInks[k]).printInk = true;
}
}
if (offsetJob) {
// If it's an offset job, we might need to change page sizes.
if (productType === "HI-N13W") {
paperSize = PaperSizes.custom;
paperHeight = 12.5;
paperWidth = 8.5;
} else if (productType.subString(3,5) === "PC") {
paperSize = PaperSizes.custom;
paperHeight = 8;
paperWidth = 12.5;
} else if (couldBeBothJobs.toString().indexOf(productType.subString(3,5)) > -1) {
paperSize = "US Letter";
} else {
paperSize = PaperSizes.custom;
paperHeight = 8;
paperWidth = 25;
}
}
}
在第二个for
循环中,您会看到我首先关闭了文档中的所有墨水进行打印。然后我只打开printInks
数组中的那些。但是,如果数组中存在单词“Black”,则它没有 Ink,因此,我想设置内置的 printPreference“printBlack”。(这补充了其他三个 - printCyan、printMagenta 和 printYellow。)
根据InDesign CS6 Object Model Reference ,它应该是一个布尔值。但是,每当脚本到达该点时,它就会停止。将一小段代码粘贴到一个新文档中,这样我就可以看到错误消息,让我得到这个:
The property is not applicable in the current state.
这是什么意思?更重要的是,我该如何解决?我知道在设置此属性之前必须关闭陷印,但我确定它已关闭。