1

これは、Javascript/Extendscript ウィザードにとって十分に単純なはずです。印刷プリセットを使用してドキュメントを印刷したいのですが、ページ範囲も指定します (プリセットを選択した後、他のオプションも指定できます)。InDesign CS6 JavaScript スクリプティング ガイドを参照すると、この素晴らしい詳細な方法の説明があります。

プリンタープリセットで印刷する

プリンター プリセットを使用してドキュメントを印刷するには、印刷コマンドにプリンター プリセットを含めます。

わお。とても説明的で役に立ちます。ええと、誰か私がこれをよりよく理解するのを手伝ってくれますか?


編集 (2019/01/21)

どのページを印刷したいかをスクリプトに伝える方法を尋ねられました。これは に保存されていないことがわかりましたPrinterPreset

DocumentprintPreferencesオブジェクトへのアクセスを許可するというプロパティがあり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.

注: PageRange.SELECTED_ITEMS印刷ではなくアイテムのエクスポートにのみ使用されるようです(PageRange列挙型は両方の操作に使用されるため)。ただし、これはテストしていません。

PrintPreferenceが呼び出される前に設定できるプロパティは他にもたくさんdocument.print()あるので、調べる価値があります

4

1 に答える 1

2

メソッドは、引数の 1 つとしてオブジェクトを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したがって、上記の例では、Fileオブジェクトのコンストラクターを呼び出して、オブジェクトの「インスタンス」を作成しますvar file = File(doc.fullName);。次に、既存のPrinterPresetオブジェクトを取得します: var preset = app.printerPresets[0];. 最後に、各オブジェクトを関数 insertingnullに中間変数に渡します (省略可能であるため、無視することにしました) app.print(file, null, preset);

于 2013-05-21T13:20:01.100 に答える