公開日:2017年12月18日
スクリーンショットや製品写真に引き出し線テキストが必要なときに。あらかじめ改行で区切ったテキストを読み込み、テキスト1行につきテキストフレーム1個を中身込みで作成するスクリプトです。
このスクリプトは、雑誌のように1記事あたりのページ数が少ないものに対しては有効ですが、書籍のようにページ数が多く結構な数の引き出し線テキストが求められる場合、もうちょい工夫が必要です。
InDesignではサンプルスクリプトの「BreakFream.jsx」でほとんど同じことができます。テキスト段階でばらしてから配置するか、配置してからばらすか順番が違うだけです。
/*
20180522 ダイアログをキャンセルした場合はスクリプトが終了するように
*/
var doc=app.activeDocument;
//現在のフォルダ
var DocPath = doc.filePath;
var DocPathdec =decodeURI(DocPath);//パスを読めるように変換
//テキストを読み込む
var tx=new File(DocPathdec).openDlg("配置するテキストを選択","*.txt",false);
try{
var txr = tx.open("r");
var txarr=[];
while(!tx.eof){
txarr.push(tx.readln());
};
}catch(e){
exit();
}
var txtcount=txarr.length;
var frmHeight=5.75;
//オブジェクトスタイルを使う場合
//var objStl=app.activeDocument.objectStyles.itemByName("オブジェクトスタイル名");
for(var i=0; i < txtcount; i++){
var txtFrm=doc.textFrames.add();
txtFrm.visibleBounds=[(20+frmHeight*i)+2*i,-60,(25.75+frmHeight*i)+2*i,-10];
txtFrm.contents=txarr[i];
//オブジェクトスタイルを使う場合
//txtFrm.appliedObjectStyle=objStl;
};