Skip to content

Instantly share code, notes, and snippets.

@monokano
Last active April 25, 2025 13:25
Show Gist options
  • Select an option

  • Save monokano/bac4ba0335f05109299c9ebaa1ebec8d to your computer and use it in GitHub Desktop.

Select an option

Save monokano/bac4ba0335f05109299c9ebaa1ebec8d to your computer and use it in GitHub Desktop.
InDesignでよく設定変更するものをウィンドウで一括操作するスクリプト
// InDesignでよく設定変更するものをウィンドウで一括操作できます
// レイアウトグリッドにスナップ
// スマートガイド
// 再リンク時に画像サイズを保持
// 境界線の線幅を含む
// 定規開始位置
// トリミング
// ウィンドウ表示時の設定は現状の設定です
// 変更してOKボタンを押すと設定が変更されます
(function () {
// ドキュメントが開かれているか確認
if (!app.documents.length) {
alert("ドキュメントが開かれていません。");
return;
}
var doc = app.activeDocument;
// ダイアログ作成
var dlg = new Window("dialog", "設定確認と変更");
// レイアウトグリッドにスナップ
var snapGroup = dlg.add("group");
snapGroup.orientation = "row";
snapGroup.alignment = "left";
var snapCheckbox = snapGroup.add("checkbox", undefined, "レイアウトグリッドにスナップ");
snapCheckbox.value = doc.cjkGridPreferences.snapToLayoutGrid;
// スマートガイド
var smartGuideGroup = dlg.add("group");
smartGuideGroup.orientation = "row";
smartGuideGroup.alignment = "left";
var smartGuideCheckbox = smartGuideGroup.add("checkbox", undefined, "スマートガイドを有効にする");
smartGuideCheckbox.value = app.smartGuidePreferences.enabled;
// 再リンク時に画像サイズを保持
var imageGroup = dlg.add("group");
imageGroup.orientation = "row";
imageGroup.alignment = "left";
var preserveBoundsCheckbox = imageGroup.add("checkbox", undefined, "再リンク時に画像サイズを保持");
preserveBoundsCheckbox.value = app.imagePreferences.preserveBounds;
// 境界線の線幅を含む
var strokeGroup = dlg.add("group");
strokeGroup.orientation = "row";
strokeGroup.alignment = "left";
var includeStrokeCheckbox = strokeGroup.add("checkbox", undefined, "境界線の線幅を含む");
includeStrokeCheckbox.value = app.transformPreferences.dimensionsIncludeStrokeWeight;
// 定規開始位置(ポップアップ)
var rulerGroup = dlg.add("group");
rulerGroup.orientation = "row";
rulerGroup.alignment = "left";
rulerGroup.add("statictext", undefined, "定規開始位置:");
var rulerOptions = [
{label: "スプレッド", value: RulerOrigin.SPREAD_ORIGIN},
{label: "ページ", value: RulerOrigin.PAGE_ORIGIN},
{label: "ノド元", value: RulerOrigin.SPINE_ORIGIN}
];
var rulerDropdown = rulerGroup.add("dropdownlist", undefined, []);
for (var i = 0; i < rulerOptions.length; i++) {
rulerDropdown.add("item", rulerOptions[i].label);
}
var currentRuler = doc.viewPreferences.rulerOrigin;
var rulerIndex = 0;
for (var i = 0; i < rulerOptions.length; i++) {
if (rulerOptions[i].value === currentRuler) {
rulerIndex = i;
break;
}
}
rulerDropdown.selection = rulerIndex;
// トリミング設定(ポップアップ)
var cropGroup = dlg.add("group");
cropGroup.orientation = "row";
cropGroup.alignment = "left";
cropGroup.add("statictext", undefined, "トリミング:");
var cropOptions = [
{label: "バウンディングボックス (すべてのレイヤー)", value: PDFCrop.CROP_CONTENT_ALL_LAYERS},
{label: "バウンディングボックス (表示中のレイヤー)", value: PDFCrop.CROP_CONTENT_VISIBLE_LAYERS},
{label: "アート", value: PDFCrop.CROP_ART},
{label: "トリミング", value: PDFCrop.CROP_PDF},
{label: "仕上がり", value: PDFCrop.CROP_TRIM},
{label: "裁ち落とし", value: PDFCrop.CROP_BLEED},
{label: "メディア", value: PDFCrop.CROP_MEDIA}
];
var cropDropdown = cropGroup.add("dropdownlist", undefined, []);
for (var i = 0; i < cropOptions.length; i++) {
cropDropdown.add("item", cropOptions[i].label);
}
var currentCrop = app.pdfPlacePreferences.pdfCrop;
var initialIndex = 0;
for (var i = 0; i < cropOptions.length; i++) {
if (cropOptions[i].value === currentCrop) {
initialIndex = i;
break;
}
}
cropDropdown.selection = initialIndex;
// OK・キャンセルボタン
var buttonGroup = dlg.add("group");
buttonGroup.alignment = "right";
buttonGroup.add("button", undefined, "キャンセル", {name: "cancel"});
buttonGroup.add("button", undefined, "OK", {name: "ok"});
// 実行
if (dlg.show() === 1) {
doc.cjkGridPreferences.snapToLayoutGrid = snapCheckbox.value;
app.smartGuidePreferences.enabled = smartGuideCheckbox.value;
app.imagePreferences.preserveBounds = preserveBoundsCheckbox.value;
app.transformPreferences.dimensionsIncludeStrokeWeight = includeStrokeCheckbox.value;
doc.viewPreferences.rulerOrigin = rulerOptions[rulerDropdown.selection.index].value;
app.pdfPlacePreferences.pdfCrop = cropOptions[cropDropdown.selection.index].value;
}
})();
@monokano
Copy link
Author

追加

  • 境界線の線幅を含む
  • 定規開始位置

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment