選択した基準の外側へ、指定した間隔で線を作るJSXの例です。まず標準のトリムマーク、効果、PDF書き出し時のトンボで要件を満たせるか確認し、独自寸法が必要な場合だけコードを検討します。
標準機能でできること
Adobe公式では、編集できるトリムマークの作成、ライブ効果としてのトリムマーク、日本式への切り替えを説明しています。PDF書き出し時のトンボは、ドキュメント上に作るパスとは別の設定です。トンボの作成・効果・PDF設定の違いを先に確認してください。
以前の掲載コードからの修正
以前の日本式例は左右の中央線2本だけで、入力したオフセットを描画へ反映していませんでした。西洋式例も上の縦線2本だけで、線を作る関数が同じ掲載コード内にありませんでした。いずれも完成したトンボを作る例として使える内容ではなかったため、2026年10月3日に差し替えました。入力文字列をevalで実行する処理も廃止しています。
四隅に8本の線を作る学習用の例
下のコードは、選択した1つの基準のgeometricBoundsを使い、四隅の延長線上へ8本の線を作ります。日本式の二重トンボやセンタートンボ、面付け、PDFの仕上がりサイズ・塗り足し設定を生成するものではありません。印刷用の完成仕様として扱わず、座標と単位の計算を学ぶ例として使います。
| 設定 | この例の値・条件 |
|---|---|
| 入力 | 0〜100mmの数値。キャンセルで終了。計算式や文字列は実行しません。 |
| 寸法 | 線の長さ5mm、線幅0.3pt。間隔は基準の辺から線の中心線の端点まで。 |
| 基準 | geometricBounds。線幅や効果を含む見かけの境界とは異なります。長方形1つで試します。 |
| 線色 | CMYKのK100、オーバープリントfalse。レジストレーション色ではありません。入稿先指定とは照合が必要です。 |
| 作成先 | アクティブなレイヤー内の新しいグループ。元オブジェクトは変更せず、自動保存しません。 |
(function () {
var group = null;
try {
if (app.documents.length === 0) throw new Error("ドキュメントを開いてください。");
var doc = app.activeDocument;
var sel = doc.selection;
if (!sel || !(sel instanceof Array) || sel.length !== 1)
throw new Error("基準にする長方形を1つ選んでください。");
var bounds = sel[0].geometricBounds;
if (!bounds || bounds.length !== 4) throw new Error("範囲を取得できない選択です。");
var layer = doc.activeLayer;
var node = layer;
while (node && node.typename === "Layer") {
if (node.locked || !node.visible || !node.editable) throw new Error("作成先レイヤーが編集できません。");
node = node.parent;
}
var raw = prompt("基準の辺から線の開始位置までの間隔(mm)", "3");
if (raw === null) return;
raw = raw.replace(/^\s+|\s+$/g, "");
if (!/^(\d+)(\.\d+)?$/.test(raw)) throw new Error("0以上の数値だけを入力してください。");
var mm = Number(raw);
if (!isFinite(mm) || mm > 100) throw new Error("間隔は0〜100mmで指定してください。");
var gap = mm * 72 / 25.4, length = 5 * 72 / 25.4;
var left=bounds[0], top=bounds[1], right=bounds[2], bottom=bounds[3];
if (!(right>left && top>bottom)) throw new Error("基準の幅・高さが0です。");
group=layer.groupItems.add();group.name="Crop marks demo";
var black=new CMYKColor();black.cyan=0;black.magenta=0;black.yellow=0;black.black=100;
line(left-gap-length,top,left-gap,top);line(left-gap-length,bottom,left-gap,bottom);
line(right+gap,top,right+gap+length,top);line(right+gap,bottom,right+gap+length,bottom);
line(left,top+gap,left,top+gap+length);line(right,top+gap,right,top+gap+length);
line(left,bottom-gap-length,left,bottom-gap);line(right,bottom-gap-length,right,bottom-gap);
alert("四隅の線8本を作成しました。寸法・線色・PDFでの範囲を確認してください。");
function line(x1,y1,x2,y2){
var item=group.pathItems.add();item.setEntirePath([[x1,y1],[x2,y2]]);
item.filled=false;item.stroked=true;item.strokeWidth=0.3;item.strokeColor=black;
item.strokeOverprint=false;
}
}catch(e){
if(group!==null){try{group.remove();}catch(cleanup){alert("生成途中のグループが残りました。手動で確認してください。");}}
alert(String(e));
}
}());寸法を確認する手順
- コピーしたAIを開き、仕上がりの基準にする長方形を1つだけ選ぶ。
- JSXをUTF-8で保存し、その他のスクリプトから実行する。実行方法はJSX入門を参照。
- 3を入力し、8本の線がグループへ生成されるか確認する。3mmは約8.504pt、5mmは約14.173ptです。
- 生成した線を選び、座標、5mmの長さ、0.3ptの幅、色を照合する。間隔を0・3・10mmに変えて比較する。
- PDFへ出す場合は線が出力範囲に入るか確認する。トンボがあっても塗り足しやPDFのページボックスが整うとは限りません。
コードの入力判定と座標生成は模擬試験で確認します。改修版のIllustrator実行、実寸の照合、印刷会社への適合確認はまだ完了していません。独自トンボを入稿する場合は、線色・線幅・長さ・間隔・日本式かどうかを入稿先へ確認して仕様を合わせます。
参照資料
Adobe公式のトリムマークの指定とプリンターマークと裁ち落としを参照しました。過去のGitHub版と旧画像は今回の学習用コードの出力例として扱いません。

コメント