![見出し画像](https://assets.st-note.com/production/uploads/images/100319975/rectangle_large_type_2_ffb0934051aa110aa1a65eed6a4adf6f.png?width=1200)
【Indesign】全スプレッド上にある全オブジェクトを等距離移動
2月にオンデマンド用印刷機がXEROX Versant 80 PressからRICOH Pro C7200Sに切り替わった。
印刷機の機能も把握できていないので、元データで対応する。
今回は洋2封筒への宛名印刷。
ベロを開いてから印刷する必要がある。
以前はデータのサイズそのものを変更して作っていたのだが、断ち落とし寸法を変えるだけで済むことに、遅ればせながら気づいたので、封筒サイズに戻そうとした。
ドキュメントサイズを変更して保存してpageItemsを使用して全ページ分のオブジェクトを同じように移動させようとしたが、ドキュメントサイズ変更後にページの外側になってしまったオブジェクトが動かせなかった。
慌てていろいろ調べた結果、修正したのが以下のスクリプト。
pagesをspreadsに変えるだけで済んだ。
無事全ページの全オブジェクトを移動させることができた。
//Indesignで宛名データを印刷する際、
//封筒のベロを開いて印刷するなど、ドキュメントサイズを変更した後、
//全ページの全オブジェクトを同じ距離だけ移動させる場合に使用する。
alert("Indesignで宛名データを印刷する際、"+"\n"+"封筒のベロを開いて印刷するなど、ドキュメントサイズを変更した後、"+"\n"+"全ページの全オブジェクトを同じ距離だけ移動させる場合に使用する。");
var idouX = Number(prompt("左(←)はマイナス、右(→)はプラス",0));
var idouY = Number(prompt("上(↑)はマイナス、下(↓)はプラス",0));
var myDoc = app.activeDocument;
for(i=0;i<myDoc.spreads.length;i++){
var mySpreads = myDoc.spreads[i];
for(j=0;j<mySpreads.pageItems.length;j++){
var myObj = mySpreads.pageItems[j];
myObj.geometricBounds = [
myObj.geometricBounds[0]+idouY,
myObj.geometricBounds[1]+idouX,
myObj.geometricBounds[2]+idouY,
myObj.geometricBounds[3]+idouX
]
}
}
今回も参考にしたのは
古籏一浩 著
InDesign自動化サンプルプログラム逆引きリファレンス上・下
インプレスR&D. Kindle Edition.
ありがとうございました。
上記の電子書籍をAmazonで買ったのだが、上・下合本版が発売されたのを機に、やたらとおすすめしてくるのが、ちょっとムカつくんだよなぁ。交換してくれないかしらん。
この記事が気に入ったらサポートをしてみませんか?