InDesign JavaScript(ExtendScript)

InDesignで自動処理を行うための、JavaScript(ExtendScript)のメモです。

※ この記事は量が増えていったら分割するかもしれません。
※ InDesign CS2でしか検証してないので、他のバージョンで動くかは不明。

現在開いているドキュメントを取得

現在選択しているオブジェクト取得

オブジェクトの種類取得

種類名
GraphicLine : 線(閉領域のない図形)
Oval : 楕円
Polygon : 多角形
Rectangle : 長方形
TextFrame : テキストフレーム

ページの操作

ドキュメントに含まれるページ取得

テキストフレームの操作

ドキュメント・ページに含まれるテキストフレーム取得

表示している部分の文字列取得(あふれ分は入らない)

文字あふれがあるかチェック

テキストフレームのフィット

オプションの値
FitOptions.contentToFrame : 内容をフレームに合わせる
FitOptions.frameToContent : フレームを内容に合わせる
FitOptions.centerContent : 内容を中央にする
FitOptions.proportionally : ?
FitOptions.fillProportionally : ?

段落の取得(テキストフレームに入っている文字列一行分)

段落スタイルの取得

上下左右の位置(座標)取得

図形(長方形・楕円等)の操作

ドキュメント・ページに含まれる図形取得

オブジェクトスタイルの取得

上下左右の位置(座標)取得

テキストフレームと同じ

visibleBoundsで取得できる座標についての覚書

ページ左上が原点(0,0)(塗り足し分は入らない)
単位は、環境設定の単位(と、思われる)
ツールバーの座標とサイズの値とほぼ同じ(微妙にずれている)
ただし、見開きの場合は、左のページの原点が原点になるので、右側のページの座標は、左のページからの座標になる。
※ いずれも横書きの場合。縦書きがどうなるかは不明
※ オブジェクトの原点が変更されている場合はどうなるか不明

ファイルの操作(ドキュメント本体でなく外部ファイル)

ファイルの読み込み

後ほど記載

ファイルの書き込み