InDesign Hacking with JavaScript

Adobe 社の DTP ソフトウェア「InDesign」 (Amazon) は、JavaScript (および macOS 版では AppleScript、Windows 版では VBScript) を使って内部オブジェクトにアクセスできるようになっており、手動では面倒な作業を自動化することができます。

バージョン CS2 以降では XML 処理の機能も向上しており、ますますの自動化を期待できます。

このページでは、kmuto が作成したスクリプトを公開しています。ファイルをアプリケーションの指定のフォルダに置くことで、Windows/macOS の両方で動作します。


zipファイルでのダウンロード

さらに、Adobe 社が提供する glue code.jsx (たとえば macOS では、「/Application/Adobe InDesign バージョン/Scripts/XML Rules/glue code.jsx」) を hwj-Scripts フォルダの libs フォルダにコピーします。




株式会社トップスタジオは、kmuto の所属する編集プロダクション企業です。書籍やパンフレット、マニュアルなどの企画、翻訳、執筆、編集、監修、DTP、デザインなど手広い範囲で皆様のお役に立ちます。


スクリプト紹介

各スクリプトの API ガイドは、こちらにあります。

XML ドキュメントからの組版主眼ですが、スクリプト自体は段落スタイルなどを使ったものもあり、通常のテキスト組版でも応用は可能です。

スクリプトは、アプリケーションの Presets/Scripts フォルダに配置してください (自動化ウィンドウ内にスクリプトファイル名が表示されます)。

libs/libApplyImageObjectstyle.jsx

概要
XML要素の画像にオブジェクトスタイルを適用する。ostyle属性が付いているときにはその値のオブジェクトスタイル名を使う (APIガイド)
ライセンス
使用許諾 に準じる
関数
applyImageObjectstyle

libs/libArabic2Roman.jsx

概要
ローマ数字とアラビア数字を変換する (APIガイド)
ライセンス
その他のライセンス (ファイル先頭を参照してください)
関数
arabic2roman, roman2arabic

libs/libBackGroundImage.jsx

概要
指定領域の背景に画像を入れる (APIガイド)
ライセンス
使用許諾 に準じる
関数
backGroundImage

libs/libBackGroundImage3.jsx

概要
指定領域の背景に画像を入れる (APIガイド)
ライセンス
使用許諾 に準じる
関数
backGroundImage3

libs/libBreakLine.jsx

概要
行送り記号を挿入する (APIガイド)
ライセンス
使用許諾 に準じる
関数
lineBreakOfStory, lineBreak, getLastX

libs/libClearDocument.jsx

概要
必須マスターページ以外のページ要素をすべて消去し、右ページから始まる2ページの白ページと連結フレームを配置する (APIガイド)
ライセンス
使用許諾 に準じる
関数
silentClearDocument

libs/libCodeBlock.jsx

概要
指定のXML要素を子要素を含めてインラインテキストフレーム化する (APIガイド)
ライセンス
使用許諾 に準じる
関数
makeCodeBlock1, makeCodeBlock2, processXMLforCodeBlock

libs/libCommon.jsx

概要
InDesign共通ライブラリ (APIガイド)
ライセンス
使用許諾 に準じる
関数
getCSVersion, getCSPath, callScripts, getFilePath, toMmMode, revertMmMode, startBenchMark, endBenchMark, insertItemMark, insertPrefix, setCharacterStyle, getCharacterStyleByName, getAllCharacterStyles, getAllCharacterStylesFromGroup, getCharacterStyleByNameFromGroup, getParagraphStyleByName, getParagraphStyleByNameFromGroup, getObjectStyleByName, getObjectStyleByNameFromGroup, getTableStyleByName, getTableStyleByNameFromGroup, getCellStyleByName, getCellStyleByNameFromGroup, getCharacterStyles, getParagraphStyles, getObjectStyles, getTableStyles, getCellStyles, findContentFromPageByStyles, findContentFromObjectByStyles, findStringFromObjectWithGroup, findStringFromObject, findMasterSpread, removeGroupObjectByLabel, locateObject, getEndStoryPoint, getEndStoryPoint2, getEndStoryPoint3, getEndStoryPoint4, getMetaInfo, pttomm, showInteraction, overridePageItems, getPageItem, getDocAttr, getHwjStateFileObj, readHwjStateFile, writeHwjStateFile

libs/libEmbedBookmarks.jsx

概要
見出しdtpインストラクションの箇所にブックマークを入れる。目次中ノンブルなどの指定要素にハイパーリンクを付ける (APIガイド)
ライセンス
使用許諾 に準じる
関数
clearBookmarks, processXMLforBookmarks, processXMLforHyperlinks, processHyperlinks, addHyperlink, loadDaiwariPageFile

libs/libExtendTextFrame.jsx

概要
行頭が指定の空行スタイルで始まっている場合、前ページのテキストフレームを下に広げる (APIガイド)
ライセンス
使用許諾 に準じる
関数
extendTextFrame

libs/libFootnoteMark.jsx

概要
脚注記号を任意のものに変更する (APIガイド)
ライセンス
使用許諾 に準じる
関数
replaceFootnoteMark, revertFootnoteMark

libs/libGetBoundsOfPage.jsx

概要
版面の縦横座標を返す (APIガイド)
ライセンス
その他のライセンス (ファイル先頭を参照してください)
関数
getBoundsOfPage

libs/libGetFrameIDs.jsx

概要
テキストフレームとページ、ページオフセットとノンブルのマッピング配列を返す (APIガイド)
ライセンス
使用許諾 に準じる
関数
getFrameIdFromPage, getPagenumFromSection

libs/libHandleOverflow.jsx

概要
テキストフレームからあふれているときに、マスターページを適用したページを追加する (APIガイド)
ライセンス
使用許諾 に準じる
関数
treatOverflow

libs/libHandleOverflow2.jsx

概要
テキストフレームからあふれているときに、マスターページを適用したページを追加する (APIガイド)
ライセンス
使用許諾 に準じる
関数
treatOverflow

libs/libHandleOverflow3.jsx

概要
テキストフレームからあふれているときに、マスターページを適用したページを追加する(非再帰) (APIガイド)
ライセンス
使用許諾 に準じる
関数
treatOverflow, treatOverflow_real

libs/libInsertImageIcon.jsx

概要
指定の段落の前に画像を挿入する (APIガイド)
ライセンス
使用許諾 に準じる
関数
insertImageIcon1, insertImageIcon2

libs/libModifyBoxBottom.jsx

概要
オブジェクトの下座標を特定段落スタイルの最後の行のベースラインを基準に伸縮させる (APIガイド)
ライセンス
使用許諾 に準じる
関数
modifyBoxBottom

libs/libModifyTable.jsx

概要
表の操作。XML情報のcolspan、rowspanに基づいて接続したり、左右のケイを取ったりする (APIガイド)
ライセンス
使用許諾 に準じる
関数
modifyTable

libs/libPlaceTextFrames.jsx

概要
ページにマルチカラム対応のテキストフレームを配置する (APIガイド)
ライセンス
使用許諾 に準じる
関数
placeTextFrames

libs/libProcessXMLForDecoratedPanel.jsx

概要
XMLインストラクションを使い、節飾りのようなグループを貼り付ける (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforDecoratedPanel, processDecoratedPanel, placeDecoratedPanel

libs/libProcessXMLForHashira.jsx

概要
XMLインストラクションを使い、左右の柱を生成して適用する (APIガイド)
ライセンス
使用許諾 に準じる
関数
makeMasterPage, processXMLforHashira

libs/libProcessXMLForHashira2.jsx

概要
XMLインストラクションを使い、左右の柱を生成して適用する (APIガイド)
ライセンス
使用許諾 に準じる
関数
makeMasterPage2, processXMLforHashira2

libs/libProcessXMLForHashira3.jsx

概要
XMLインストラクションを使い、左右の柱を生成して適用する (APIガイド)
ライセンス
使用許諾 に準じる
関数
makeMasterPage2, processXMLforHashira3

libs/libProcessXMLForHeader.jsx

概要
XML要素を探してその内容をオブジェクトテンプレートにコピーし、配置する。テキストフレームを下にずらす (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforHeaderImage

libs/libProcessXMLForPlaceGroup.jsx

概要
指定のXML要素の位置に、オブジェクトをコピーペーストし、必要に応じてプレースホルダ文字を置き換える (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLForPlaceGroup, processForPlaceGroup, placeGroup

libs/libProcessXMLForPlaceGroup2.jsx

概要
指定のXML要素の位置に、オブジェクトをコピーペーストし、必要に応じてプレースホルダ文字を置き換える (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLForPlaceGroup, processForPlaceGroup, placeGroup

libs/libProcessXMLForPlaceXMLText.jsx

概要
指定のXML要素の位置に、テキストフレームをコピーペーストし、指定のXMLコンテンツをペーストする (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLForFindTargetElements, processForFindTargetElements, processXMLForPlaceTextFrame, processForPlaceTextFrame, placeTextFrame

libs/libProcessXMLforBackgroundImage.jsx

概要
XML要素の範囲の背景に画像を配置する (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforBackgroundImage, processXMLforBackgroundImage2

libs/libProcessXMLforBackgroundImage2.jsx

概要
XML要素の範囲の背景に画像を配置する (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforBackgroundImage2

libs/libProcessXMLforBackgroundImage3.jsx

概要
XML要素の範囲の背景に画像を配置する (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforBackgroundImage3, createBGProgressBar, processBackgroundImage, processCountTargetImage

libs/libProcessXMLforBalloon.jsx

概要
指定のXML要素の内容を吹き出しとしてテキストフレーム化し、線を引く (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforBalloon, redrawProcessXMLforBalloon

libs/libProcessXMLforContinuous.jsx

概要
XPathにマッチする要素がページをまたいでいる場合、右下/左上にアイコンを置く (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforNextToIcon, ProcessNextToIconSubset, placeNextToIcon, placeNextToText

libs/libProcessXMLforConvertToTable.jsx

概要
XMLの指定要素のテキストを表にする。表にするとXMLの情報は失われる (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforConvertToTable

libs/libProcessXMLforExtendObj.jsx

概要
width属性、height属性の値(mm)に従って指定要素内にあるオブジェクトの幅を変える (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforExtendObj, processExtendObj, extendObj

libs/libProcessXMLforRemoveTags.jsx

概要
指定のタグ以外を削除する (APIガイド)
ライセンス
使用許諾 に準じる
関数
checkRMTag, processXMLforRemoveTags

libs/libProcessXMLforRenumbering.jsx

概要
XMLのリスト構造をベースに番号を付け直す (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforRenumbering, processXMLforRenumbering2

libs/libProcessXMLforSpecialCharacters.jsx

概要
XMLインストラクションを使い、特殊文字(改行や改ページなど)を挿入する (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforSpecialCharacters

libs/libProcessXMLforSpecialCharacters2.jsx

概要
XMLインストラクションを使い、特殊文字(改行や改ページなど)を挿入する(CS4-) (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforRemoveInstructions, processXMLforSpecialCharacters2

libs/libProcessXMLforSpecialCharacters3.jsx

概要
XMLインストラクションを使い、特殊文字(改行や改ページなど)を挿入する(CS4-)。instructionの後には⋈を入れておき、これを探索する (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforSpecialCharacters3, insertSpecialCharacter

libs/libProcessXMLforTOC.jsx

概要
XMLインストラクションを使い、目次テキストを出力する (APIガイド)
ライセンス
使用許諾 に準じる
関数
getTOC, processXMLforTOC

libs/libProcessXMLmakeBlock.jsx

概要
XPathにマッチする要素を切り出してテキストフレーム化する (APIガイド)
ライセンス
使用許諾 に準じる
関数
MakeBlock, ProcessSubset, ProcessPlaceBlock

libs/libRoundNumbers.jsx

概要
特定記号に囲まれた数字を丸数字、黒丸数字などに置き換える (APIガイド)
ライセンス
使用許諾 に準じる
関数
roundNumbers, getCID

libs/libSideComment.jsx

概要
指定のXML要素を子要素を含めてコメントをテキストフレーム化し、線を引く (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforComment, redrawProcessXMLforComment, redrawProcessXMLforCommentLine

libs/libSideMarker.jsx

概要
左右ページのツメ見出しを指定のマスタページに設定する。各見出しは適当なオブジェクトとしてラベルを定義しておく。Y座標はそのまま使われる (APIガイド)
ライセンス
使用許諾 に準じる
関数
putSideMarker

libs/libSideNote2.jsx

概要
指定のXML要素を子要素を含めて側注テキストフレーム化する (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforSidenote2, processSideNote, moveFootnoteToSide, redrawProcessXMLforSidenote2, processRedrawSideNote, placeSideNote, handleOverwrapSidenotes

libs/libSidenote.jsx

概要
指定のXML要素を子要素を含めて側注テキストフレーム化する (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforSidenote, redrawProcessXMLforSidenote, handleOverwrapSidenotes

libs/libStartup.jsx

概要
(なし) (APIガイド)
ライセンス
使用許諾 に準じる
関数
checkFootnotes, getTwo

libs/libTobira.jsx

概要
章扉を作成する (APIガイド)
ライセンス
使用許諾 に準じる
関数
doTobiraHandle, processTobiraObject, processXMLforSection, makeTobira

libs/libTobira2.jsx

概要
テキスト変数を使って章扉を作成する (APIガイド)
ライセンス
使用許諾 に準じる
関数
makeTobira2, makeTobira2style

silent/silentBreakLine.jsx

概要
行送り記号を挿入する (APIガイド)
ライセンス
使用許諾 に準じる
関数
lineBreakOfStory, lineBreak, getLastX, toMmMode, revertMmMode

silent/silentClearDocument.jsx

概要
必須マスターページ以外のページ要素をすべて消去し、右ページから始まる2ページの白ページと連結フレームを配置する (APIガイド)
ライセンス
使用許諾 に準じる
関数

silent/silentGroupRuby.jsx

概要
GroupRubyタグの箇所を正しくグループルビにする (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforGroupRuby, processGroupRuby

silent/silentMakeCodeBlock-stage2.jsx

概要
dialogMakeCodeBlock-stage1.jsxなどで作成したデータベースを基に、テキストフレームをインラインテキストフレームに移動する (APIガイド)
ライセンス
使用許諾 に準じる
関数

silent/silentMakeFootnote.jsx

概要
<footnote>タグの内容を脚注とする。内容は1行であることを前提とし、文字スタイルは保持されるがそれ以外のXML情報およびスタイルは失われる。脚注の詳細オプションは、InDesign側の書式→脚注オプションで行う。注と監訳者注のように複数の注釈を行うことはできない (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforFootnote

silent/silentMakeFootnote2.jsx

概要
<footnote>タグの内容を脚注とする。内容は1行であることを前提とし、文字スタイルは保持されるがそれ以外のXML情報およびスタイルは失われる。脚注の詳細オプションは、InDesign側の書式→脚注オプションで行う。注と監訳者注のように複数の注釈を行うことはできない。<footnoteの前には「₶」を入れて探索できるようにする (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforFootnote2, makeFootnote

silent/silentPlaceImage.jsx

概要
XML要素のImageタグの画像を再貼り込みする (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforPlaceImage, placeImage

silent/silentRemoveFootnote.jsx

概要
footnoteタグを削除する (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforRemoveFootnote, ProcessRemoveFootnote

silent/silentSpecialCharacters.jsx

概要
XMLインストラクションを使い、特殊文字(改行や改ページなど)を挿入する (APIガイド)
ライセンス
使用許諾 に準じる
関数

silent/silentSpecialCharacters2.jsx

概要
XMLインストラクションを使い、特殊文字(改行や改ページなど)を挿入する(glue code版) (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforSpecialCharacters, processSpecialCharacters, insertSpecialCharacters

silent/silentSpecialCharactersRemove.jsx

概要
XMLインストラクションを使い、特殊文字(改行や改ページなど)を挿入する (APIガイド)
ライセンス
使用許諾 に準じる
関数

silent/silentSpecialCharactersRemove2.jsx

概要
XMLインストラクションを使い、特殊文字(改行や改ページなど)を挿入する (APIガイド)
ライセンス
使用許諾 に準じる
関数

silent/silentSwapStyles.jsx

概要
\区切りのスタイルをスタイルグループのスタイルに置換する (APIガイド)
ライセンス
使用許諾 に準じる
関数
swap_ps, swap_cs, swap_os, swap_ts, swap_es

trial/2nd-task1-vcenter.jsx

概要
DTP勉強会トライアル テキストを縦中央に (APIガイド)
ライセンス
使用許諾 に準じる
関数

trial/2nd-task2-locate.jsx

概要
DTP勉強会トライアル テキストフレームを並べる (APIガイド)
ライセンス
使用許諾 に準じる
関数

trial/2nd-task3-ruby.jsx

概要
DTP勉強会トライアル ルビを振る (APIガイド)
ライセンス
使用許諾 に準じる
関数
setRuby

trial/2nd-task4-plusten.jsx

概要
DTP勉強会トライアル 桁区切りを入れる (APIガイド)
ライセンス
使用許諾 に準じる
関数
plusTen

dialogs/dialog2TweakMathImages.jsx

概要
配置された数式画像のサイズおよびベースラインを調整するv2 (APIガイド)
ライセンス
使用許諾 に準じる
関数
loadConfig, tweakImagePDF2, backUnit, revertUnit

dialogs/dialogAddHyperLinkToToc.jsx

概要
目次のテキストフレームを選択し、ブックの情報を基にノンブルからのハイパーリンクを付ける (APIガイド)
ライセンス
使用許諾 に準じる
関数
foreachAddHyperlink, addHyperlink, loadLinkDataFromBook, cleanUpHyperlink

dialogs/dialogAoPagesPDF.jsx

概要
開いているドキュメントのタグを残したまま、単ページで複数ページのPDFを保存する (APIガイド)
ライセンス
使用許諾 に準じる
関数
exportSinglePDF

dialogs/dialogAppendItemMark.jsx

概要
段落の先頭に指定の文字スタイルの文字列を挿入する。リスト項目のナカグロなどに利用する (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogApplyMasterPage.jsx

概要
全ページに指定のマスターページを適用する (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogAutoRuby.jsx

概要
△語▲よみ☆を探してルビにする (APIガイド)
ライセンス
使用許諾 に準じる
関数
setRuby

dialogs/dialogBreakIndexLines.jsx

概要
(なし) (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogCaption.jsx

概要
キャプションの段落スタイルの文字列に連番を付ける (APIガイド)
ライセンス
使用許諾 に準じる
関数
getCharacterStyleByName

dialogs/dialogCheckHashira.jsx

概要
InDesignファイルのリストを開き、変数の展開結果が登場順序と合致しているかどうかを調べる (APIガイド)
ライセンス
使用許諾 に準じる
関数
normalize, getHashira

dialogs/dialogCheckImageLink.jsx

概要
XMLドキュメントを探索し、Imageの中に貼り付けが行われていないものを報告する (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLForImageCheck, processForImageCheck

dialogs/dialogCheckLabelName.jsx

概要
選択しているオブジェクトにlabelが付いているかどうかを調査し、付いているときには緑の枠線で、付いていないときには赤い枠線で囲む。囲み情報に、Z-ラベル情報というレイヤーを作成している (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogCheckLinkGeometry.jsx

概要
現在開いているファイルのリンク図版について、フレームに対するサイズや位置の差異をレポートする (APIガイド)
ライセンス
使用許諾 に準じる
関数
saveLog, iRound, checkLinkGeometry

dialogs/dialogCheckMasterpage.jsx

概要
マスターページの見開きで左右要素のずれを検出する (APIガイド)
ライセンス
使用許諾 に準じる
関数
simpleRound, roundUnit, getJustification, getCaptionLocation, setCaption, surroundItem, setMap, drawMasterItemsNote, checkDifference

dialogs/dialogCheckSerialNumber.jsx

概要
選択した段落スタイルで図・表・リストなどが連番になっているかをチェックする (APIガイド)
ライセンス
その他のライセンス (ファイル先頭を参照してください)
関数
eltAndNmbl

dialogs/dialogChooseXML.jsx

概要
カーソル位置のXML要素を選択する(この後にInDesignのXMLメニューから「アイテムへ」を選べば、該当範囲が選択された状態になる) (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogDrawLine.jsx

概要
選択している2〜3つのオブジェクトを使って囲み罫線をひく (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogExportFindSet.jsx

概要
検索設定をスクリプト文字列化し、コピーバッファに格納する (APIガイド)
ライセンス
使用許諾 に準じる
関数
makeCopyBuffer, esc, findParagraphStyle, findCharacterStyle, findObjectStyle, makeProperties, exportFind0, exportFind1, exportFind2, exportFind3, getEnumerator

dialogs/dialogExportPageTexts.jsx

概要
ファイルパス一覧を指定し、各ファイルを開いてノンブルごとにテキストファイルを書き出す (APIガイド)
ライセンス
使用許諾 に準じる
関数
exportText

dialogs/dialogExportStyleList.jsx

概要
スタイル名およびフォントの一覧をファイルに出力する (APIガイド)
ライセンス
使用許諾 に準じる
関数
exportParagraphStyleList, exportCharacterStyleList, exportObjectStyleList, exportTableStyleList, exportCellStyleList, exportStyleList

dialogs/dialogForeachMakeIndex.jsx

概要
<index> XML要素を探し、そのページノンブルと索引項目からなるリストをファイルに出力する (APIガイド)
ライセンス
使用許諾 に準じる
関数
processDocumentForIndex, processDocumentIndices, processXMLforIndex

dialogs/dialogForeachSetPageRefs.jsx

概要
<label> XML要素を探し、getLabelsで抽出したノンブルで置き換える(バッチ版) (APIガイド)
ライセンス
使用許諾 に準じる
関数
processDocumentForPageRef, saveLog, processPageRef, replacePageRef, loadLabelList

dialogs/dialogGetLabels.jsx

概要
<label> XML要素を探し、そのidとノンブルのリストをファイルに出力する (APIガイド)
ライセンス
使用許諾 に準じる
関数
processDocumentForLabel, processDocumentLabel, processTakeLabel

dialogs/dialogHandleOverflow.jsx

概要
メインのテキストフレームがあふれているときに、指定のマスターページを適用したページを追加する (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogHashira-L-style.jsx

概要
指定の段落スタイルの文字列を左の柱とする。マスターページの柱の箇所には「柱左」というテンプレート文字列を含むテキストフレームを用意しておく (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogHashira-R-style.jsx

概要
指定の段落スタイルの文字列を右の柱とする。マスターページの柱の箇所にはセクションマーカーを含むテキストフレームを用意しておく (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogInsertImageIcon-stage1.jsx

概要
指定の段落スタイルの段落の前にアイコンを挿入する。挿入位置にインラインテキストフレームを作成する。実際の配置を行うには、続いてdialogInsertImageIcon-stage2.jsxを実行する (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogInsertImageIcon-stage2.jsx

概要
指定の段落スタイルの段落の前にアイコンを挿入する。dialogInsertImageIcon-stage1.jsxで作成したインラインテキストフレームに指定の画像ファイルを貼り付ける (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogInsertSpaceAfterMathPDF.jsx

概要
(なし) (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogKeepTagAndSavePDF.jsx

概要
開いているドキュメントからPDFを生成する (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogKeepTagAndTwoSavePDF.jsx

概要
開いているドキュメントのタグを残したまま、単ページと見開きの2つのPDFを保存する(プリセットは固定) (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogMakeBook.jsx

概要
ファイルリストを開き、ブックを作成する (APIガイド)
ライセンス
使用許諾 に準じる
関数
exportBook

dialogs/dialogMakeCodeBlock-stage1.jsx

概要
指定のXML要素をインラインフレーム化するために、テンポラリマスターページにデータベースの作成と切り出したテキストフレームを配置する。切り出し位置には挿入用のインラインテキストフレームを作成する。実際の配置を行うには、続いてsilentMakeCodeBlock-stage2.jsxを実行する (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogMakeIndex.jsx

概要
<index> XML要素を探し、そのページノンブルと索引項目からなるリストをファイルに出力する (APIガイド)
ライセンス
使用許諾 に準じる
関数
processXMLforIndex

dialogs/dialogMakePDF.jsx

概要
InDesignファイルと出力ファイル名をタブで区切ったファイルリスト(「1-ch01/ch01.indd ch01.pdf」など)を開き、PSまたはPDFを作成する (APIガイド)
ライセンス
使用許諾 に準じる
関数
showInteraction, exportPDF, exportPS

dialogs/dialogMakePackages.jsx

概要
選択したリストをもとに、パッケージを生成する (APIガイド)
ライセンス
使用許諾 に準じる
関数
processDocumentPackage

dialogs/dialogMakePhotobook.jsx

概要
現在開いている空のInDesignファイルに、指定フォルダの図版を貼り込んでいく。キャプションのテキストフレームに利用するオブジェクトスタイルfig-captionを作っておくこと (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogMakeToc-Y.jsx

概要
ファイルリストを開き、流し込みのための目次テキストを連番つきで出力する。あとで1列目に従ってソートする必要がある (APIガイド)
ライセンス
使用許諾 に準じる
関数
exportTocXMLY, processDocumentForTocY, processXMLforTOCY

dialogs/dialogMakeToc.jsx

概要
ファイルリストを開き、流し込みのための目次テキストを出力する。ページを通すこともできる (APIガイド)
ライセンス
使用許諾 に準じる
関数
exportTocXML, processDocumentForToc, processXMLforTOC

dialogs/dialogModifyMojiaki.jsx

概要
特定文字種の前後文字アキをベタにする (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogModifyTableRuler.jsx

概要
表の罫線を処理し、セルにスタイルを割り当てる (APIガイド)
ライセンス
使用許諾 に準じる
関数
replaceRulerOfTable

dialogs/dialogPasteXML.jsx

概要
main-contentというラベルを持つテキストフレーム(silentClearDocumentなどで生成する)に指定のXMLファイルを流し込む (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogRemoveAllHyperLink.jsx

概要
(なし) (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogRemoveImportedStyle.jsx

概要
(なし) (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogRenameLink.jsx

概要
選択した画像のリンクのファイルをリネームし、再リンクする (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogRenumSidenote.jsx

概要
特定段落・文字スタイルの番号をリフレッシュする。リセット段落スタイルに出会ったら番号をリセットする (APIガイド)
ライセンス
使用許諾 に準じる
関数
getPage, renumSidenote, _renumSidenoteCommon

dialogs/dialogReplaceMathImages.jsx

概要
◆→math:図版ファイル名←◆を該当図版ファイルで置換する (APIガイド)
ライセンス
使用許諾 に準じる
関数
replaceMath

dialogs/dialogReplaceStyleName.jsx

概要
書き換え用にスタイル名の一覧をファイルに出力する (APIガイド)
ライセンス
使用許諾 に準じる
関数
loadMap, setStyleToDocument, foreachIndb, getParagraphStyleList, getCharacterStyleList, getObjectStyleList, getTableStyleList, getCellStyleList, skipName, getStyleFromDocument, exportStyleList, setParagraphStyleList, setCharacterStyleList, setObjectStyleList, setTableStyleList, setCellStyleList

dialogs/dialogRoundNumbers.jsx

概要
特定記号に囲まれた数字を丸数字、黒丸数字などに置き換える (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogSaveAsMultipleFormat.jsx

概要
フォルダ内のInDesignファイルを再帰的に検索し、IDX、テキスト、PDF、PS、RTF、XMLに変換する (APIガイド)
ライセンス
使用許諾 に準じる
関数
openInputFolder, filename, openAndSave, saveRTF, saveText, savePDF, saveINX, savePS, saveXML, parseContentOfRange, xsub, storyToTag

dialogs/dialogSaveAsRawText.jsx

概要
選択したテキストフレームをテキスト化してファイルに出力する(タグは参照しない) (APIガイド)
ライセンス
使用許諾 に準じる
関数
storyToText

dialogs/dialogSaveAsText.jsx

概要
選択したテキストフレームをサブフレームを含めてテキスト化してファイルに出力する (APIガイド)
ライセンス
使用許諾 に準じる
関数
parseContentOfRange, storyToTag

dialogs/dialogScriptWindow.jsx

概要
APFSで順序が狂ってしまうスクリプトウィンドウの代替品 (APIガイド)
ライセンス
使用許諾 に準じる
関数
itemDoubleClickHandler, makeTree

dialogs/dialogSetLabel.jsx

概要
選択しているオブジェクトに指定のlabel値を付ける (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogSetName.jsx

概要
選択しているオブジェクトのlabelの値をnameにも適用する (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogSetPageRefs.jsx

概要
<pageref> XML要素を探し、getLabelsで抽出したノンブルで置き換える (APIガイド)
ライセンス
使用許諾 に準じる
関数
processPageRef, replacePageRef, loadLabelList

dialogs/dialogSetRuby.jsx

概要
選択位置の後ろにある()内のテキストをルビとして、選択位置に配置する (APIガイド)
ライセンス
使用許諾 に準じる
関数
setRuby, getRubyInParent

dialogs/dialogSpecialMarkBox.jsx

概要
選択したテキストフレームの文中にあるア〜ケの単一カナ文字に文字スタイルを適用すると共に、スミベタの白抜きの異体字にする (APIガイド)
ライセンス
使用許諾 に準じる
関数
prepost

dialogs/dialogSplitTextbox.jsx

概要
いわゆるテキストばらし。テキストフレームの各段落を個別フレーム化する (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogStartPage.jsx

概要
開始ページを指定する (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogTableIcons.jsx

概要
表内のlabel-*という文字列を、*のラベルを持つテキストフレームで置き換える (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogTweakMathImages.jsx

概要
配置された数式画像のサイズおよびベースラインを調整する (APIガイド)
ライセンス
使用許諾 に準じる
関数
removeZenkaku, loadConfig, tweakImagePDF, backUnit, revertUnit

dialogs/dialogUnTagAndSavePDF.jsx

概要
開いているドキュメントのタグを一旦解除し、PDF保存してからアンドゥする (APIガイド)
ライセンス
使用許諾 に準じる
関数

dialogs/dialogUnTagTwoSavePDF.jsx

概要
開いているドキュメントのタグを一旦解除し、単ページと見開きの2つのPDFを保存してからアンドゥする (APIガイド)
ライセンス
使用許諾 に準じる
関数

Photoshop 用スクリプト

Photoshop CS3 以降向けのスクリプトもいくつか作成しています。

dialogCMYKScale.jsx

概要
フォルダを選択し、中のビットマップ画像をリサイズおよびCMYK化したPSDとして出力する (APIガイド)
ライセンス
使用許諾 に準じる
関数
convertToCMYKPSD

dialogGrayPDF.jsx

概要
フォルダを選択し、中のビットマップ画像をdpi変更、crop、グレースケール化、を行い、PDFとして出力する (APIガイド)
ライセンス
使用許諾 に準じる
関数
convertToPDF2

dialogGrayScale.jsx

概要
フォルダを選択し、中のビットマップ画像をリサイズおよびグレースケール化したEPSとして出力する (APIガイド)
ライセンス
使用許諾 に準じる
関数
convertToGrayEPS

dialogGrayScalePSD.jsx

概要
フォルダを選択し、中のビットマップ画像をリサイズおよびGrayScale化したPSDとして出力する (APIガイド)
ライセンス
使用許諾 に準じる
関数
convertToGrayPSD

dialogPDFScale.jsx

概要
フォルダを選択し、中のビットマップ画像をリサイズおよびPDFとして出力する (APIガイド)
ライセンス
使用許諾 に準じる
関数
convertToPDF

dialogToPNG.jsx

概要
フォルダを選択し、中のPSD画像をPNGとして出力する (APIガイド)
ライセンス
使用許諾 に準じる
関数
convertToPNG

Illustrator 用スクリプト

Illustrator CS3 以降向けのスクリプトもいくつか作成しています。

実行はメニューの「ファイル」→「スクリプト」→「その他のスクリプト」で選択するか、macOSの場合は Finder で「アプリケーション」→「Adobe Illustrator CS*」→「プリセット」→「ja_JP」(CS4以降の場合)→「スクリプト」の中に配置して Illustrator を再起動することで利用できます。サブフォルダを作成して、ものかのさんの SPAi を利用するのが便利でしょう。日本語でメニューに表示したいときには、エイリアスで日本語ファイル名を作るとよいでしょう。

CMYKgreySave.jsx

概要
フォルダを選択し、中のEPS画像をCMYK→グレースケール化して保存し直す (APIガイド)
ライセンス
使用許諾 に準じる
関数
saveAsGrayEPS

bookECG.jsx

概要
(APIガイド)
ライセンス
使用許諾 に準じる
関数
round, boxResizer

box.jsx

概要
(APIガイド)
ライセンス
使用許諾 に準じる
関数
borderBox

dialogCloning.jsx

概要
テンプレートファイルを開いている状態で、保存先フォルダとマップファイルを選択し、テンプレートの文字列を置換して保存する。マップファイルは最初の行に「FILE タブ 1つめのプレイスホルダ 2つめのプレイスホルダ ...」と記述し、以降の行で「出力ファイル名 1つめプレイスホルダへの値 2つめプレイスホルダへの値 ...」と書いていく (APIガイド)
ライセンス
使用許諾 に準じる
関数
replaceDocument

dialogConfigureFigureStringSupport.jsx

概要
dialogFigureStringSupportの設定UI (APIガイド)
ライセンス
使用許諾 に準じる
関数
saveData

dialogFigureStringSupport.jsx

概要
オブジェクトを選択していたら規定サイズに縮小し、ロックレイヤーにする。テキストを選択していたら指定フォント・Q数にして、行単位にバラす。アミ指定があるときはアミを下に置く (APIガイド)
ライセンス
使用許諾 に準じる
関数
resizePNG, splitTexts, splitFrame, setAmi

dialogForEachPSDtoAI.jsx

概要
フォルダを選択し、中のPSD画像をAIファイルにリンクで貼り付けて保存する (APIガイド)
ライセンス
使用許諾 に準じる
関数
saveAsLinkedAI

dialogReplaceMath.jsx

概要
テキストを行単位でバラすとともに、◆→math:〜←◆となっている箇所を画像ファイルで差し替える (APIガイド)
ライセンス
使用許諾 に準じる
関数
splitFrame, replaceMath

dialogSeExportDenkiTxt.jsx

概要
(APIガイド)
ライセンス
使用許諾 に準じる
関数
checkCMYK

dialogSplitPDF.jsx

概要
(APIガイド)
ライセンス
使用許諾 に準じる
関数
saveAsAI, changeFont, getChildAll, ungroup

downConvert.jsx

概要
フォルダを選択し、EPS/AIファイルを古いバージョンに保存し直す(使用バージョンでオープン可能であることが前提) (APIガイド)
ライセンス
使用許諾 に準じる
関数
downGrade

dumpFonts.jsx

概要
アプリケーションフォント一覧をファイルに出力する (APIガイド)
ライセンス
使用許諾 に準じる
関数
dump

eps2ai.jsx

概要
フォルダを選択し、EPS/AIファイルをSVG形式で保存し直す (APIガイド)
ライセンス
使用許諾 に準じる
関数
getCSVersion, saveAsAI

eps2eps.jsx

概要
(APIガイド)
ライセンス
使用許諾 に準じる
関数
saveAsEPS

eps2pdf.jsx

概要
フォルダを選択し、EPS/AIファイルをPDF形式で保存し直す (APIガイド)
ライセンス
使用許諾 に準じる
関数
saveAsPDF

eps2pdfv2.jsx

概要
フォルダを選択し、EPS/AIファイルを最低300dpiにしてから、アートボードをオブジェクトサイズにフィットさせ、PDF形式で保存し直す (APIガイド)
ライセンス
使用許諾 に準じる
関数
saveAsPDF

eps2png.jsx

概要
フォルダを選択し、EPS/AIファイルをPNG形式で保存し直す (APIガイド)
ライセンス
使用許諾 に準じる
関数
saveAsPNG

eps2svg.jsx

概要
フォルダを選択し、EPS/AIファイルをSVG形式で保存し直す (APIガイド)
ライセンス
使用許諾 に準じる
関数
getCSVersion, saveAsSVG

fontList.jsx

概要
フォルダの画像のフォント一覧レポートを生成する (APIガイド)
ライセンス
使用許諾 に準じる
関数
saveAndRead

fontreplace.jsx

概要
(APIガイド)
ライセンス
使用許諾 に準じる
関数
replaceFont

insertSpaceBetweenJE.jsx

概要
(APIガイド)
ライセンス
使用許諾 に準じる
関数

libCommon.jsx

概要
Illustratorスクリプト用共通ライブラリ (APIガイド)
ライセンス
使用許諾 に準じる
関数
getHwjStateFileObj, readHwjStateFile, writeHwjStateFile, mmtopt, qtopt

pdf2eps.jsx

概要
(APIガイド)
ライセンス
使用許諾 に準じる
関数
saveAsEPS

pdf2pdf.jsx

概要
フォルダを選択し、PDFファイルを指定のPDFプリセットで保存し直す (APIガイド)
ライセンス
使用許諾 に準じる
関数
saveAsPDF

placeWarnFiles.jsx

概要
エラーレポートファイルまたはフォルダを指定して画像ファイルを並べた1枚のファイルを作成する。望むならPDFとして保存できる (APIガイド)
ライセンス
使用許諾 に準じる
関数
mmtopt, createPage, loadFromReport, loadFromDir, findImages

replaceFontAndSaveEPS.jsx

概要
フォルダを選択し、古い形式/CIDフォントのEPS/AIファイルをEPS形式で保存し直す (APIガイド)
ライセンス
使用許諾 に準じる
関数
replaceFont

resizeAIs.jsx

概要
フォルダを選択し、AIまたはEPSのファイルを指定幅リサイズおよびDPIセットする。ファイルは上書きされる (APIガイド)
ライセンス
使用許諾 に準じる
関数
resizeAI, unLockItems, lockItems, unLockLayers, lockLayers, resizeDoc, setResolution

saveWithOutline.jsx

概要
現在開いているファイルを保存し、アウトラインファイルバージョンも作成して保存する (APIガイド)
ライセンス
使用許諾 に準じる
関数
save_with_outline_main, createOutlineFile

stroke15.jsx

概要
(APIガイド)
ライセンス
使用許諾 に準じる
関数

使用許諾 (ライセンス)

このページに掲載している各スクリプトは、特に注記がない限りは次のソフトウェア使用許諾同意書に記載した条項にて利用・配布できます。[テキスト形式 (UTF8), テキスト形式 (シフトJIS)]

ソフトウェア使用許諾同意書

本ソフトウェアの利用・変更・再配布にあたっては、下記の使用許諾同意書に 同意する必要があります。

  1. 本使用許諾同意書における「ソフトウェア」とは、機械可読の資料 (ライブラリ、スクリプト、ソースファイル、データファイル)、実行形式、および文書を意味します。
  2. 本ソフトウェアの使用許諾同意書に同意する限りにおいて、使用者は本ソフトウェアを自由に利用、変更することができます。
  3. 本ソフトウェアに変更を加えない限りにおいて、使用者は本ソフトウェアを自由にコピー、再配布することができます。
  4. 本ソフトウェアは無保証です。作者およびそれに関連する組織、配布者は、本ソフトウェアの使用に起因する一切の直接損害、間接損害、偶発的損害、特別損害、懲戒的損害、派生的損害について何らの責任・保証も負いません。
  5. 本ソフトウェアを変更した上で再配布するときには、下記の事項すべてに従わなければなりません。
  6. 本ソフトウェアを変更した上で再配布するときには、変更理由およびその内容を明記することが推奨されます。
  7. 使用者がソフトウェアに適用可能な特許に対して特許侵害にかかわる何らかの行動を開始した時点で、この使用許諾同意書は自動的に終了し、以降使用者はこの使用許諾書によって与えられた一切の権利を放棄するものとします。

著作権所有者 Copyright (C) 2008-2017 Kenshi Muto. All rights reserved.
使用許諾同意書バージョン1.0

著作権所有者による書面での事前の許可がない限り、この使用許諾同意書に変更を加えてはなりません。


Copyright 2008-2021 Kenshi Muto