よろよろ帳

InDesign JavaScript 勉強中

タイル印刷

B3ぐらいの大きさの下半分(右半分)だけA3で出力したい時に。全部出したい時はタイル用のプリセットで印刷しています。上半分(左半分)はタイルのチェックを外すだけでOKなのですが、2枚目はルーラー変更してタイル手動にするとか煩雑で結局プリセットで両方出すもったいないことをしていました。印刷前にファイルが保存されているか確認させてプリントダイアログボックスを開きます。プリント後は保存せず閉じるか復帰。
tiledPrinting

var Doc=app.activeDocument;
if(Doc.saved===false||Doc.modified===true) //保存確認
alert("please save a document");
var W= Doc.documentPreferences.pageWidth;
var H= Doc.documentPreferences.pageHeight;
var Pp = Doc.printPreferences;
Pp.paperSize="A3";
Pp.allPrinterMarks=true;
Pp.colorBars=false;
Pp.useDocumentBleedToPrint=false;//ドキュメントの裁ち落とし設定を使用(しない)
Pp.includeSlugToPrint=true;//印刷可能領域(含む)
if(W<=H){
    Doc.zeroPoint=[(420-W)/-2,H/2-(297-H/2)+15]; Pp.printPageOrientation=PrintPageOrientation.LANDSCAPE//+15はざっくりとんぼ分
    }else{Doc.zeroPoint=[W/2-(297-W/2)+15,(420-H)/-2]; Pp.printPageOrientation=PrintPageOrientation.PORTRAIT}

Pp.tile = true; // タイルON
Pp.tilingType =TilingTypes.MANUAL
app.menuActions.item("プリント...").invoke();