DTPab

印刷やデザイン、アドビ製アプリやスクリプトなど、雑多な技術ブログ

ExtendScript

IllustratorのスクリプティングAPI

以前、愛用していたAPIドキュメントのサイトが閉じてしまった*1ので、いまはこちらを使っています。 ai-scripting.docsforadobe.dev ExtendScriptのAPI(オブジェクトモデル)を確認するには、左のカラムから JavaScript Object Reference を展開しましょう…

【Illustrator】ドキュメント切り替えと同時にカラーパネルの表示を切り替えたい

はじめに アクションとスクリプトで解決できた スクリプト 使い方 余談 はじめに ドキュメントが印刷用のデータはCMYK、ウェブ(もしくはRGB入稿の高彩度印刷)用のデータはHSBにしたい、というカラーパネルの切り替えが本当に面倒で…。 自動で切り替わって…

自分用のフォントリストを作ろう

はじめに できたもの 使い方 定義ファイルの作成 テンプレートファイルを開く スクリプト本体の実行 さいごに はじめに デザインの仕事でどうしても悩んでいるのがフォントを選ぶのに時間がかかることでした。 欧文フォントであれば、文字パネルの検索メニュ…

【Illustrator】配置画像や複雑なパスデータからカットパスと白打データの作成

はじめに 最近、仕事でアクリルスタンドなどをはじめとしたグッズを作ることが増えています。 アクリルグッズやステッカー制作でよくある作業が、カットパスの作成と白打(白版印刷)データの作成です。 割と力業でやることが多かった作業なのですが、Xで素…

🎉ESDebugger v2.1.0が正式リリース🎉

はじめに VSCodeの拡張機能ExtendScript Debuggerが、8月9日にv2.1.0にアップデートされました。 本記事はChangelogのまとめです。 今回のアップデートで、β版としてRC(Release Candidate)表記だった機能が正式に載りました。 Apple Siliconのデバイスに正…

【InDesign】重なり順でソートする関数

IllustratorにはzOrderPositionというプロパティがあって、オブジェクトの重なり順をなんとなーく調べられるんですけど*1、InDesignにはないのです。 でもあったほうが便利なのは確かなので、とりあえずの関数を作ってみました*2。 コード全文 使用例 呼び出…

【Illustrator】ドキュメントを切り替えるスクリプト(DTP Transit別館修正版)

はじめに DTP Transitさんの別館(note)で、ドキュメントをスムーズに切り替えるスクリプトを紹介されていました。 note.com その中で、下記懸念事項があるとのことでした。 クリックで選択すると実際にアクティブなウインドウが切り替わりますが、↓キーの…

【InDesign】ExtendScriptで相互参照を操作する

趣味で作っていたスクリプトで躓いて、自己解決に至るまでにだいぶかかりました。 今後のために記しておきます。 やりたいこと 呼称の整理 実装 やりたいこと ExtendScriptを利用し、任意の場所(テキストの挿入点)に、相互参照で参照した段落のテキストを…

アドビアプリ自動化もくもく会#1を開催しました

ちょっと時間が空いてしまいましたが、12/14にアドビアプリ自動化もくもく会#1を開催しました。 aaam.connpass.com 現地参加の皆さんと 参加してくださった皆さま、ありがとうございました! アドビアプリ自動化もくもく会とは 振り返り セッションについて …

add()メソッドへの引数の渡し方

p-makes-p.hatenablog.com くれそんさんの記事にコメントを書いたので、別のベクトルでちょっとだけ補足。 例えば、Rectangles.add()メソッドなんかでフレームを生成するときに、そのとき与えたい情報は一度に与えてしまったほうがいいですよ、という話。 fu…

CeeBeeDeeにて登壇しました🙌

CeeBeeDee(DTP Transit)さん主催のオンラインイベントにて登壇させていただきました。 dtptransit.doorkeeper.jp アーカイブも販売されておりますので、上記URLよりぜひご購入ください。 セッションの概略 アーカイブ購入特典 QueryGroupSwitcher スクリプ…

レイヤーに連番を振るスクリプト

あらまし コード ざっくり解説 あらまし Illustratorのコミュニティで書いたスクリプトをGistにアップしていなかったので、ブログにも書いておく次第です。 詳しくはスレッドを参照いただきたいのですが、要するにレイヤーに連番を振りたいという内容でした…

Illustrator:ドキュメントのスウォッチ一覧をつくるスクリプト

グローバル版のアドビコミュニティで面白いスクリプトがあったのでご紹介です。 community.adobe.com テキストを選択してスクリプトを実行すると、そのテキストの末尾に(テキストと同じ体裁で)スウォッチ一覧が作成されます。一応、色もそれになります。 …

【InDesign】そのテキストが後注かどうかを調べる

テキストが後注機能で生成されたものかどうかはStory.isEndnoteStoryで調べることができる、というメモ書き。 www.indesignjs.de indesign.cs5.xyz 当初は文末脚注とかいう不思議な訳語だったんですが、機能としてはCC2018(v13)から実装されています。 stu…

【InDesign】ドキュメントにオーバーセットテキストがあったら保存できないようにするイベントリスナー型スクリプト

追記 2024-02-22:コメントで教えていただきましたが、だいぶ漏れがあるようです。2024-02-26:ということでコードを更新しました。末尾にちょっとだけ解説を追記しています。 サンプル 追記 そもそも論として TextFrame.overflowsの大きな穴 Footnoteオブジ…

SUI:項目数に応じて自動で増減させるタブ

おいおい、UXPやらずにまだScriptUIいじってんの? という内なる声を、職場はまだInDesign 2024に移行しきれていないのでしかたないだろ、となだめるこの頃。 前段 項目をタブに分配する 配列の要素を任意の要素数に分配した二重配列を作るには SUIのタブパ…

SUIのtabbedpanelはキャメルケースにすると怒られる

怒られるのがtabbedpanel側ではなく、追加しようとするtab側ってのも解せないんですよ キャメルケースの tabbedPanel では怒られが発生する 全部小文字だとOK! 全部小文字 そうするとちゃんとSUIダイアログが表示される そういうとこだぞ なので、今さらな…

便利なPreference.propertiesプロパティの落とし穴

前段 問題 問題の切り分け 存在しないプロパティ 型違反 fillColorがおかしいのか? 取得できても利用できないオブジェクト 試してみよう どうやって回避する? まとめ 余談 前段 InDesignの各Preferenceにはたいていpropertiesという便利なプロパティがいて…

テキストの欧文合字を一括でオフにするInDesign用スクリプト

ドキュメント内の欧文合字設定を全部オフにするInDesign用スクリプトを書きました。 スタイルの中を全部オフ→ドキュメントを検索置換で全部オフ という処理です。 var doc = app.activeDocument; var pst = doc.allParagraphStyles; for (var i = 1, len = p…

コードポイントで指定した範囲の文字列を取得するInDesign用スクリプト

昨日公開した記事で、~Kや\u、\lのコードポイントの範囲を調べました。 uske-s.hatenablog.com さすがに手作業で文字を入力するわけにもいかず、こんなスクリプトを作ってテキストフレームに文字列を入力→選択して表組に、という流れで資料を作成しました。 …

OSをまたいで作業する際に注意すべきヒラギノフォント

言わずとしれた大人気フォントのヒラギノシリーズですが、一部の書体ではmacOSとWindowsで(何の警告もなく)濁点の大きさが変わるという鬼畜仕様があります*1。 今回は少し詳しく調べた結果を記事にしました。OSをまたいで作業する可能性がある環境の方はぜ…

トリムされた画像が閾値以上トリムされているかどうか調べたい

はじめに 概要 仕様 スクリプト はじめに X(旧Twitter)のInDesignコミュニティで救難信号を受信しました(ご本人に掲載許可はいただいています)。 で、実は僕はこういうスクリプトを普段から書いていまして…。 ほとんど近しいものが手元にあったので、少…

微小な誤差にハマった

テキストフレームの座標を比較して順序をソートするメソッドを仕込んでおいたのに、どうしても順序が正しく並び替えられない…という事態に遭遇して解決したのでメモ。 改めて勉強になりました…。 オチ UI上、絶対に目視では確認できない微小な誤差(-5.68434…

InDesignが待機状態かビジー状態か調べたい

InDesignでEventListenerなんかを実装していると、例えばInDesign側でダイアログが出ているタイミングで発火してしまうイベントがエラーになることがあります。 そこでInDesignが待機状態かそうでないか調べたいな〜と思ったんですが、BridgeTalkを使ってす…

『ESDebugger for VS Code―ESTKから卒業しよう 第2版』を書きました!

技術書典14にて、新刊『ESDebugger for VS Code―ESTKから卒業しよう 第2版』を頒布しました! techbookfest.org BOOTHでも頒布しておりますので、どちらでもお好きな方からお求めください! uske-s.booth.pm せっかくなので執筆を振り返ろうと思います。 ま…

InDesign USフォーラムウォッチング 6月第4週

というわけで先週のUSフォーラムウォッチングです。 スクリプトでグループ化されたオブジェクトにアクセスするには? Solved: Trouble dealing with setting colors on grouped obj... - Adobe Support Community - 13874248 Page.pageItemsだとグループ化さ…

InDesign USフォーラム紹介 6月第3週

ちょくちょく見に行くInDesign USフォーラムで見かけた有益情報を共有しようかなと思って記事にしてみました。好評なら定期的にやろうかな…。 キュレーション自体はかなり自分基準です 長いドキュメントでfindGrep()メソッドを実行すると待機時間が長すぎる…

PDF書き出しダイアログのページ範囲をリセットしたい

概要 どうやってやるの? スクリプトで解決しよう コード インストール 概要 PDF書き出しダイアログのページ範囲 タイトルどおりの要望がフォーラムに出ていたので、スクリプトで解決できますよ、という話です。 どうやってやるの? PDF書き出しダイアログの…

DTPerのスクリプトもくもく会#33を開催しました

3月25日、第33回目となるDTPerのスクリプトもくもく会を開催しました。 dtpmkmk.connpass.com 今回は3名の方に参加していただきました。ありがとうございました! いつものように、当日出た話題をピックアップしていきます。 技術書典14に本を出します Exte…

DTPerのスクリプトもくもく会#32を開催しました!

おはこんハロチャオ〜! ということでもくもく会開催報告です。 自分の予定がパンパンで身動きが取れず、土曜日の昼から2時間程度、という強行スケジュールになってしまいました。が、それにもかかわらず2名の方が参加してくださり滞りなく開催できました!…