レイヤー別に印刷する

解  説
レイヤー別に印刷するには印刷オプションを全て設定してから、印刷を行うprintableのプロパティにtrueとfalseを設定します。trueを設定すると印刷が行われるので、印刷したいレイヤーにtrueを入れ、他のレイヤーのprintableプロパティにはfalseを入れます。後はprint()で印刷を行います。

注意:Illustrator 10のprint()メソッドとは全く互換性がなく動作も異なります。このため、ver 10で作成した印刷関係のスクリプトは動作しません。CSで作成したものをver 10で動作させることもできないので注意が必要です。また、期待通りに印刷できない場合には、環境に合わせてプリントオプションを指定する必要があります。プリントオプションに関してはIllustrator CS JavaScript Referenceの156ページ(英文)以後を参照してください。

コード
printOptions = new PrintOptions();
colorOptions = new PrintColorManagementOptions();
colorOptions.name = "
ColorMatch RGB";
colorOptions.intent = PrintColorIntent.SATURATIONINTENT;
printOptions.colorManagementOptions = colorOptions;
printJobOptions= new PrintJobOptions();
printJobOptions.designation = PrintArtworkDesignation.VISIBLEPRINTABLELAYERS;
printJobOptions.reverse = true;
printOptions.jobOptions = printJobOptions;
coordinateOptions = new PrintCoordinateOptions();
coordinateOptions.fitToMedia = true;
printOptions.coordinateOptions = coordinateOptions;

flatOpts = new PrintFlattenerOptions();
flatOpts .ClipComplexRegions =
true;
flatOpts .GradientResoultion =
60;
flatOpts .RasterizatonResotion =
60;
printOptions.flattenerOptions = flatOpts;

for (i=0; i<activeDocument.layers.length; i++)
{
for (j=0; j<activeDocument.layers.length; j++)
{
activeDocument.layers[j].
printable = false;
}
activeDocument.layers[i].
printable = true;
activeDocument.print(printOptions);
}


■サンプルをダウンロードする >>.zip