Extendscript indesigncs6:使用打印预设打印



这个对于Javascript/Extendscript向导来说应该足够简单。我想要使用打印预设打印文档,同时还指定页面范围(在选择预设之后,可能还需要其他选项)。参考InDesign CS6 JavaScript脚本指南,它有这个精彩的,详细的解释如何做到这一点:

使用打印机预设打印

要使用打印机预设打印文档,请在print命令中包含打印机预设。

哇。很有描述性,很有帮助。有人能帮我解释一下吗?


编辑(01/21/2019)

我被问到我如何能够告诉脚本我想要打印的页面。事实证明,这并没有存储在PrinterPreset .

Document有一个叫做printPreferences的属性,它允许访问PrintPreference对象。该对象允许开发人员通过指定PageRange enum或带有页面范围的String(其中"1"为第一页)来设置pageRange

那么,为了说明:

var document = app.activeDocument; // Presumes the document you want to print is already open.
document.printPreferences.pageRange = PageRange.ALL_PAGES; // Will print all pages in the document.
document.printPreferences.pageRange = "1-3,7,10,12-15" // Prints pages 1, 2, 3, 7, 10, 12, 13, 14, and 15.

注意: PageRange.SELECTED_ITEMS似乎只用于导出项,而不是打印(因为PageRange枚举用于两者)操作)。但是,我还没有对此进行测试。

在调用document.print()之前可以设置许多其他PrintPreference属性,因此值得查找它们。

app.print()方法可以将PrinterPreset对象作为其参数之一。这里是该方法的参考链接,可以获得更多信息。

下面是一个示例(未测试):

var doc = app.activeDocument;
var file = File(doc.fullName);      // Get the active document's file object
var preset = app.printerPresets[0]; // Use your printer preset object
app.print(file, null, preset);

InDesign参考资料列出的app.print()方法或多或少是这样的:

void print (from: varies[, printDialog: bool][, using: varies])
Prints the specified file(s).
Parameter    Type                Description
from         Array of Files      One or more file paths. Can accept: File or Array of Files.
             File
printDialog  bool                Whether to invoke the print dialog (Optional)
using        PrinterPreset       Printer preset to use. Can accept: PrinterPresetTypes enumerator or PrinterPreset. (Optional)
             PrinterPresetTypes

列出的第一个信息是方法的返回值void,在本例中,这意味着它不返回任何东西。

下面列出的信息是方法print的名称,然后是它的命名参数:fromprintDialogusing,以及每个参数的类型。

参数也列在图表中以作进一步说明。例如,from参数期望一个类型为File的对象。因此,在上面的例子中,我通过调用var file = File(doc.fullName);的构造函数来创建File对象的"实例"。然后我得到一个已经存在的PrinterPreset对象:var preset = app.printerPresets[0];。最后,我将每个对象传递给为中间变量插入null的函数(因为它是可选的,我决定忽略它):app.print(file, null, preset); .

相关内容

  • 没有找到相关文章

最新更新