gpt4 book ai didi

javascript - 扩展脚本 InDesign CS6 : Print using a print preset

转载 作者:行者123 更新时间:2023-11-30 18:02:29 25 4
gpt4 key购买 nike

这个对于 Javascript/Extendscript 向导来说应该足够简单了。我想使用打印预设打印文档,同时还指定页面范围(在选择预设后可能还有其他选项)。查阅 InDesign CS6 JavaScript 脚本指南,它对如何执行此操作进行了精彩而详细的解释:

Printing with printer presets

To print a document using a printer preset, include the printer preset in the print command.

哇。如此描述和帮助。嗯,谁能帮助我更好地理解这一点?


编辑 (01/21/2019)

有人问我如何告诉脚本我想打印哪些页面。事实证明,这并没有存储在 PrinterPreset 中。

Document有一个名为 printPreferences 的属性,它允许访问 PrintPreference目的。此对象允许开发人员通过指定 PageRange 枚举或具有页面范围(“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.

Note: PageRange.SELECTED_ITEMS seems to only be used for exporting items, not printing (since the PageRange enum is used for both operations). I have not tested this, however.

还有很多其他PrintPreference可以在调用 document.print() 之前设置的属性,因此值得 looking them up .

最佳答案

app.print() 方法可以将 PrinterPreset 对象作为其参数之一。这是一个 link到该方法的引用以获取更多信息。

这是一个例子(未经测试):

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 类型的对象。因此,在上面的示例中,我通过调用其构造函数创建了 File 对象的“实例”:var file = File(doc.fullName);。然后我得到一个已经存在的 PrinterPreset 对象:var preset = app.printerPresets[0];。最后,我将每个对象传递给为中间变量插入 null 的函数(因为它是可选的,所以我决定忽略它):app.print(file, null, preset);.

关于javascript - 扩展脚本 InDesign CS6 : Print using a print preset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16612738/

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