DTPab

DTPにまつわるあれこれ

ExtendScript

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名の方が参加してくださり滞りなく開催できました!…

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

ひさしぶりのもくもく会開催報告です。 忙しかった仕事がやっとひと山いやふた山くらい越えたなというところですが、職場は慢性的な人不足で綱渡り状態です。 即戦力のDTPオペレーターさん(正社員)を引き続き募集中っぽいので、ご興味があればお声がけくだ…

VS Codeの拡張機能の更新を監視して変更があったらSlackに通知するGASを書いた

はじめに DTPスクリプト書きからすると、これがなきゃ困るというVS Codeの拡張機能、ExtendScript Debugger for VS Codeが今年6月に大きくバージョンアップされたんですが、拡張機能の更新なのでしれっと行われるわけですよね。 v2.0.2からv2.0.3がリリース…

ESDebugger for VSCode v2.0.2がリリースされました🎉

はじめに Visual Studio Code(以下、VS Code)の拡張機能であるExtendScript Debugger for Visual Studio Code(以下、ESDebugger)の新しいバージョンv2.0.2(以下、V2)が先日リリースされましたね。これによって大きく仕様変更され、使い勝手が大きく変…

ページ上半分にあるマスターページのアイテムをオーバーライドするスクリプト

というInDesign用スクリプトを書きました。 マスターページアイテムのオーバーライドが久しぶりで、どうやったっけなーと調べたので覚書です。 細かいメソッドの引数などは適宜参照ください。

2021年の記事振り返り

今年は本記事を除いて23本でした。2020年はがんばって65本も書いたので半分以下ですね。 とはいえ別にこのブログで食ってるアフィリエイトブロガーでもないので、記事数の多寡はまったく気にしてませんが…。 2021年12月26日時点で、ページビュー数72,203でし…

InDesignで検索置換を連続して行うFindChangeByList.jsxを使い倒そう

はじめに 本記事の動作環境 免責事項 利用上の注意 FindChangeByList.jsx is 何? このスクリプトのメリット・デメリット 下準備 スクリプトをユーザーフォルダへ複製する 設定ファイルの書式(ルール) 設定ファイルの書き方(サンプル) text・grepの場合…

ExtendScriptにおける三項演算子の不具合への検証と対策

2021-11-02追記 あるふぁ(仮)さんからこの記事の間違いについてご指摘いただきました。 function f(a){alert(a);return a;}x=30;(x

更新されたYahoo!のテキスト解析APIにExtendScriptからPOSTリクエストする

前置き 事前に必要なもの APIにPOSTリクエストする GETではなくPOSTでリクエストする curlコマンドにリクエストヘッダを指定する リクエストボディ curlコマンドで送る内容の整理 AppleScriptからPOSTリクエストする ExtendScriptからPOSTリクエストする 解…

ExtendScriptにおけるエイリアスファイル操作

ExtendScriptでエイリアスファイル*1の扱いについて少しつまづいたので、改めてAdobe公式のJavaScript Tool Guide*2にあたって調べた内容を残しておきます。 パス関係 ファイルへの絶対パス プロパティ 値 備考 File.path String そのファイルへの絶対パス例…

SUIImageをclickイベントで差し替えられない

2ヶ月ぶりくらいの更新です。子供が夏休みの間、毎朝・毎晩お弁当作りなどの家事炊事に追われておりました。 さて、ここしばらくちょこちょことツイートしてますが、久しぶりにゼロからスクリプト開発しています。数年前に作った検索置換を連続で行うスクリ…

DTPerのスクリプトもくもく会#24 オンライン を開催しました

2021年7月18日、24回目のDTPerのスクリプトもくもく会を開催しました。 前回に引き続き日曜日の開催で、5名の方にご参加いただきました! dtpmkmk.connpass.com いただいた質問や出た話題などを振り返りたいと思います。 エディタは何を使っていますか? VSC…

技術書典11に初出展します

明日(7/10)から開催の技術書典11に、DTPerのスクリプトもくもく会名義で初出展します! 技術書典には過去、寄稿や委託という形で出展したことがあるので厳密には初めてではないのですが、今回はもくもく会名義で申し込んでの出展です。 techbookfest.org …

InDesign 16.2.1でAdobeXMPScriptライブラリが読み込めない不具合

テストのためにバージョンアップした16.2.1で、これまで使っていたXMPを読み込むスクリプトでI/Oエラー(入出力エラー)が起きるようになってしまいました。 原因を探ったところ、どうもExternalObjectでAdobeXMPScriptライブラリを読み込めないようです。 S…

ExtendScriptでXMPメタデータを取り扱う

概念図 InDesignのファイルに配置したIllustratorのファイルに配置された画像ファイル(以下、便宜的に孫リンクと表記)を探し出したいなーと思ってXMPメタデータをいじることにしたのですが、これが思いの外わかりづらくて苦労しました。今後のために記録し…

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

2月20日、DTPerのスクリプトもくもく会#21(オンライン)を開催しました。 参加してくださった皆さま、ありがとうございました。 dtpmkmk.connpass.com 完全オンライン開催 当日の様子 自分の進捗 結果 開発にはVSCodeを使った ハマったところ もくもく会で…