Last active
April 25, 2025 13:25
-
-
Save monokano/bac4ba0335f05109299c9ebaa1ebec8d to your computer and use it in GitHub Desktop.
InDesignでよく設定変更するものをウィンドウで一括操作するスクリプト
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // 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; | |
| } | |
| })(); |
Author
追加
- 境界線の線幅を含む
- 定規開始位置
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.