DTPab

DTPにまつわるあれこれ

ExtendScript

+DESIGNING vol.50 のコラム「ラクラボ。」を執筆しました

今月末発売予定の +DESIGNING vol.50掲載のコラム「ラクラボ。」を執筆しました。 *掲載許可をいただいています Adobe謹製のExtendScript開発・デバッグツール「ESTK」からVSCode(ESDebugger)への乗り換えについて書きました*1。 デザイン系のムックだと…

ISBNや雑誌コードのチェックディジットを確認するスクリプト

タイトル通り、なスクリプトを作りました。ハイフン込みで13桁の数字(の文字列)を選択した状態でスクリプトを実行してください。InDesign、Illustrator、どちらでも動作します。 InDesignでの動作(実際はIllustratorでも動く) チェックディジットの細か…

InDesignのPDF書き出しプリセットをフォルダ単位でまとめて読み込むスクリプト

Acrobat Pro DC様のご機嫌が悪くなってしまって完全クリーンインストール? したらPDF書き出しプリセットが吹っ飛んだので、フォルダ単位でまとめてインポートするスクリプト書いた。 InDesignから実行するとフォルダを選べとダイアログが出るので、joboptio…

パネルで選択中のスクリプトを実行するInDesignスクリプト

ワンライナーなのでGistにもアップせずここに供養しておく。 app.menuActions.itemByName("スクリプトを実行").invoke(); スクリプトパネルでスクリプトを選択した状態で実行してください。 ショートカットに登録しておくと、スクリプトパネルで選択するスク…

ExtendScriptのErrorオブジェクトのプロパティ

プロパティ ExtendScriptでの仕様と気づいたこと インスタンス化 参照 書いてるスクリプトで改めてErrorオブジェクトについて調べたので自分用のメモです。というのもどうやらJavaScriptの一般的なErrorオブジェクトと違い、プロパティをAdobe ExtendScript…

【告知】もくもく会#18 やります

DTPerのスクリプトもくもく会、参加者募集中です! dtpmkmk.connpass.com DTPerのスクリプトもくもく会#18を今月7/18(土)14:00〜開催予定です。このままだと超少人数開催になるので参加予定の皆さん、楽しくやりましょう! 予定空いているどうしよっかなー…

SUIに画像を埋め込む方法

はじめに 取り扱わないこと 画像ファイルを文字列化する SDBを使う BINARY読み込み、コードポイントとして落とし込む 文字列化する 画像データとして復号 BINARY読み込み、toSource()メソッドで文字列化 文字列化する 画像データとして復号 おわりに 補足:S…

StartupScriptでアプリ起動時に一度だけ呼ぶイベントある?

答え:1回呼ぶだけならイベントに登録するなかれ そもそもStartupScriptってアプリ起動時に実行されるスクリプト。だからStartupScriptsフォルダにスクリプトを放り込んでおけば起動時に1回呼ばれて終了となりますよね。 どうしてこんなことに気づかずイベン…

ScriptUIの詳細な資料

以前もくもく会で紹介したような気がするのですが(してないか?)、USスクリプティングフォーラムでも常連のPeter KahrelさんがScriptUIに関する詳細な資料を無償で提供されています。Adobeのどんな公式ドキュメントよりも詳しく、実情に沿った内容です。 S…

File.openDialog で複数のファイル種別を指定する

はじめに File.openDialog()メソッド 第2引数の書き方 Windowsの場合 macOSの場合 どちらのOSにも対応した書き方は? はじめに フォーラムで標題のようなスクリプトをどう書くの? って質問を見つけて回答した*1のでブログにも残しておきます。 File.openDia…

IllustratorのUIスケール次第でSUIのリスト表示がおかしくなる

Illustrator 2019から搭載されたUIスケールという設定で、表示されるパネルなどの大きさを調整できるようになりました。 環境設定>ユーザーインターフェース ところが、これを一番左(小)以外にしてしまうと、Script UI(SUI)のリスト表示が以下のように…

ExtendScript用のモジュールを作っています

タイトルの通りです。 github.com 別のリポジトリにも置いていたのですが、モジュールはモジュールだけでまとめて管理したいなと。モジュールの追加や修正を逐一ブログで報告しないと思いますが、今回はひとまず過去公開していたモジュール(以下の記事参照…

箇条書き記号を定義した設定に従って入れ替えるInDesignスクリプト

はじめに SwitchBullets.jsx 設定ファイル コード 技術的な話 エラー処理 型変換 Bullet.characterValueは数値型 おわりに はじめに 前回の記事に続き、また新しいInDesign用のスクリプトです。 段落の箇条書き機能を割と頻繁に使うのですが、特に源ノ角ゴシ…

段落スタイルを基準に選択範囲を移動するInDesignスクリプト

InDesignで作業中に、見出しの先頭にマーカーを挿入したり、見出しの状態/状況を確認したりっていう作業を僕はけっこうやります。そのたびに検索条件に段落スタイルを登録して…とかってやるのも大変なんで単純にページを送って確認するわけです。なのでこん…

InDesign 15.0.2 コミュニティスクリプトを紐解く 5

仕事が全然収まっていない中で、働き方改革法案の残業時間内でどうにか回るようにチームメンバーたちにがんばってもらっているこの頃です。こんばんは。 今回もこれらの記事の続きになります。 InDesign 2020(15.0.2)で追加されたコミュニティスクリプト -…

InDesign 15.0.2 コミュニティスクリプトを紐解く 4

仕事が「霧の中を航行する船が突然海賊に襲われた」みたいな状態になっていて毎日やばいです。こんばんは。 仕事がそんななので遅くなってしまいましたが、今回は下記の記事の続きになります。 InDesign 2020(15.0.2)で追加されたコミュニティスクリプト -…

配列に要素が含まれるかどうかを調べるArray.some()メソッドをポリフィルする

あらまし haragurai-is-bad氏が、記事中でArray.indexOf()メソッドをポリフィルしてExtendScriptに実装していらした。 haraguai-is-bad.hatenablog.com 実はポリフィルしてた 記事のコメントにも書いたとおり、僕はArray.some()メソッドをポリフィルしていま…

選択したオブジェクトがアンカー付きオブジェクトかどうかを判定する

どういう実装がいいのかいまいち決めきれないものの一つにこれがある。 いま使っているのは下記2種類。 var sel = app.activeDocument.selection[0]; // 1: アンカー付きオブジェクト専用プロパティにアクセスしてエラーを起こす try { sel.anchoredObjectSe…

InDesign 15.0.2 コミュニティスクリプトを紐解く 3

今回はカーソル(キャレット)位置に任意の文字をUnicodeInjectorスクリプトについてです。 これらの記事の続きになります。 InDesign 2020(15.0.2)で追加されたコミュニティスクリプト - DTPab InDesign 15.0.2 コミュニティスクリプトを紐解く 1 - DTPab…

Illustrator 2020の特色の不具合を検知するInDesign スタートアップスクリプト

この件の詳細は下記UserVoiceを参照ください。 Bug of saving in the background of Illustrator 2020 – Adobe Illustrator 取り急ぎスクリプト書いてみた。スタートアップスクリプトとして使ってください。 //@targetengine "checkGlobalColor" app.addEven…

InDesign 15.0.2 コミュニティスクリプトを紐解く 2

今回はオーバーライドを削除するというClearStyleOverridesスクリプトについてです。 こちらの記事の続きです。 uske-s.hatenablog.com uske-s.hatenablog.com はじめに ClearStyleOverrides.jsx 機能の説明 前提条件 注意点 ClearStyleOverrides について雑…

InDesign 15.0.2 コミュニティスクリプトを紐解く 1

昨日速報的に書いた記事の続きです。 uske-s.hatenablog.com 今回はBreakTextThread.jsxを読み込んでみます。 はじめに BreakTextThread.jsx 機能の説明 前提条件 注意点 BreakTextThread について雑感 はじめに Adobeのヘルプだけでは心許ないので、中身を…

InDesign 2020(15.0.2)で追加されたコミュニティスクリプト

InDesign 2020(15.0.2)のアップデートがきましたね。 InDesign ヘルプ | 機能の概要 | InDesign | (2020 年 2 月リリース) ここでコミュニティスクリプトなるものが登場しました。 実際にアップデートすると、スクリプトパネルに「コミュニティ」という…

InDesignの表でセルの高さを自由に変えたい

割と知られた話かと思いますが、InDesignでのセルの高さは、最低値が決まっています。 それより小さくしようとすると怒られるんですよね。 高さ3pt未満に設定できない それが3ptという分水嶺。 しかしスクリプトから指定すると、これがすんなり受け容れられ…

QueryGroupSwitcher(製品版)リリース!

以前、下記の記事で「体験版を公開した」とお伝えしたスクリプトですが、このたびやっと製品版リリースと相成りました! uske-s.hatenablog.com 詳しくはBOOTHの商品ページ、またそこからリンクしている製品マニュアルページをご参照ください。 当初の発注者…

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

先週の1/25(土)、DTPerのスクリプトもくもく会#16を開催しました。 今回はけっこう広めのスペースを安く借りられたので、とても快適なもくもく会になりましたね。そのおかげもあってか、質問と情報共有と交流がほどほどに行われていて、主催としてはとても…

InDesignドキュメントにPDFをまとめて配置

仕事の合間にいろいろやりながら、来月の登壇資料とか作っている毎日です。仕事が割と繁忙期なのでまあ体力続かなくて辛いですね…。 さて、今日はAdobe謹製のスクリプトに手を加えちゃおうという内容です。 最初から入ってるやで どうする? コード もとのコ…

BOOTHでスクリプトを公開しました

まだベータ版で申し訳ないのですが、BOOTHでスクリプトをひとつ公開しました。 uske-s.booth.pm 下記の記事で言及していた、正規表現検索置換クエリを管理するスクリプトです。 uske-s.hatenablog.com ベータ版で公開している理由ですが、単純にコードが気に…

これまでの振り返りと2020年

あけましておめでとうございます。 早いもので2019年があっという間に終わってしまい、令和2年、2020年が幕を開けてしまいました。今年最初の記事は、昨年をKPTで振り返りつつ、今年の抱負を綴りたいと思います。 2019年のKeep(できたこと、継続すること) …

InDesignのExtendScriptでルビを実装しよう

1年は早いもので、今年も残すところあと1ヶ月となりました。そう、12月といえばクリスマス、クリスマスといえばアドベントカレンダー! ということで、この記事はDTPアドベントカレンダー2日目の記事になります。 前回の記事はTen_Aさんの『INDESIGNで圧縮フ…