JavaScript
indesign

InDesign JavaScript チートシート

記事に画像を入れると重たくなるので、ソースコード例をメインに掲載。

ソースコード例中の変数

変数名

説明

doc
Document
InDesignドキュメント

docList
Array
InDesignドキュメントのリスト

pageItem
PageItem
ページ内オブジェクト

exportPDFFilePath
String
PDFの出力ファイルパス


ドキュメント操作


ファイル名を指定してInDesignファイルを開く

var doc = app.open("/Users/efla/Desktop/test.indd");


フォルダをユーザが指定したフォルダ内のすべてのInDesignファイルを開く

var folderObj = Folder.selectDialog("Select Folder");

fileList = folderObj.getFiles("*.indd");

var i = 0;
var docList = new Array();
for (i=0; i<fileList.length; i++ ) {

docList.push(app.open(fileList[i]));
}


ドキュメントを保存する

doc.save(filePath);


ドキュメントを閉じる


doc.close();


ドキュメントを保存して閉じる

doc.close(SaveOptions.yes);


ドキュメントのファイル名を取得する

var filename;

filename = doc.name;


ドキュメントのファイルパス取得する


エラーチェック・ユーザインタフェース


警告ダイアログを表示する

var message = 'エラーが発生しました。';

alert(message);


ファイル選択画面を表示してユーザにファイルを選択させる

var fileObj = File.openDialog("Select File");


ファイル操作


論理演算

これ言語によって違うからメモ書き。

if文で使った時の動作を記載。

演算子
動作
結果

=
代入
代入した値が入る。booleanの条件判定は「0をfalseとみなす」ので、「0以外の代入は真」とみなされる。

==
等価演算
左辺と右辺の結果が同じ場合に真、そうでない場合は偽とみなされる。

!=
等価演算(否定)
左辺と右辺の結果が同じ場合に真、そうでない場合は偽とみなされる。

&&
AND演算
省略

||
OR演算
省略


オブジェクトを加工する


オブジェクトの不透明度を設定する。

代入する値は0-100(%)

pageItem.transparencySettings.blendingSettings.opacity = 50;


スクリプトラベル操作


スクリプトラベルを取得する

var label = pageItem.label;


レイヤー操作


名前を指定してレイヤーを削除する

以前の投稿にコメントでいただいたサンプルです。

var l = app.activeDocument.layers.itemByName("test");

if (l.isValid){
l.remove();
}


名前を指定してレイヤーを非表示にする

var l = app.activeDocument.layers.itemByName("test");

if (l.isValid) {
l.remove();
}


出力


PDFファイルに出力する

注意:処理系がWindowsの場合、出力先のパスのフォルダ区切り文字は「¥」マークに置き換える必要があります。(CS5で検証)

doc.exportFile(ExportFormat.pdfType, exportPDFFilePath);


PDFファイルに出力する

注意:処理系がWindowsの場合、出力先のパスのフォルダ区切り文字は「¥」マークに置き換える必要があります。(CS5で検証)

doc.exportFile(ExportFormat.pdfType, exportPDFFilePath);