InDesign:CEP版 jsx Timer できました

どうもどうも。
泥作業オペレーターの悲願である
あっちこっちに同じ文字を何度も何度も何度も何度も打つ時
とか、あるじゃないですか。まあ、あるんですよ。

昔、それで寝言をゆったんですわ。
「選択しただけで定型の文字が入るようにならんかなあ」って。
そしたら、まんまと叶ってしまったやつです。

当時、感激した記事です。さすがに記事内リンクはすべて切れていますw
InDesign:あっちこっちに同じ文字を何度も何度も何度も何度も打つ時にすごい便利なやつ

ご尽力いただいた信長と秀吉のお二人には、ほんとにもう。オッス、オラ家康!
今でも足を向けて寝られないので毎晩北枕です。

ところがで、CS6当時のエクステンションはFlashベースだもんで、
CC2015の頃にはもう使えなくなっちまいまして。
(実際にはCC2019を作業メインにする旨の号令が出るまでずっとCS6を使ってたので寿命はもう少しあった)
以来、作業効率が落ちるわ、キーボードは同じキーばっかり打つからへたっていくわ、散々。
「あたらしいのつくってー」とかおねだりできるほどツラのカワも厚くなくて(ということに)。

いつか、そのうち、自分でなんとか、とかぼんやり思って幾年、
何度かCEP系の案件をいただいたことで、ちょっとずつ自由が利くようになり、
ようやく動くものを作ることができましたのでお披露目です。
今のところ、ただ見せびらかしてるだけで公開の有無は未定。

当時の物に対して、ガワ(UI)だけはなるべく忠実に模倣しました。
中身は、できればまるっともらってラクしたかったんですがスキル的に無理だったため一新しました。

どんなもんなのか

端的には、
一点時間おきにスクリプトを実行するもの。現状、テキストにしか使えなくしてあります。

詳しくは、
一定時間おきにInDesign上の選択範囲をみて、前回と違っていたらスクリプトを実行するものです。
操作してないのに延々スクリプトが走るということはありません。
あのー、お鍋の吹きこぼれ防止装置みたいなもんです。

実演

反響次第では何か考えますが、今のところはただ自慢するだけです。
オッス、オラ骨川!

一番上から、
繰り返しのディレイ間隔1/1000秒、
入力する文字、
入力文字の登録&削除ボタン、
登録済み文字群、
スクリプトのたーっぷり詰まったフォルダの丸焼き選択ボタン、
フォルダから読み込んだスクリプトのボタン群。
クリックしたものは赤(アクティブ)になりタイマーが発動。

実際こんなかんじです。基本となる「文字を挿入」を使用したところ。

実際この内容だと「正規表現検索置換でよくね?」となるんですが…
フリーダムな文字訂正指示に手早く対応できるでございます。

うごかすスクリプトについて

公開した場合、登録するスクリプトは各自で用意してもらうことになりますが
いま使っているいくつかはサンプルとして収録の予定。
基本的には名前順で並ぶけど、ファイル名先頭に「00_」とナンバリングしておけば
優先して前に来るようにしました。
UI上ではナンバリングと拡張子は省略されたすっきり表示に。

3つばかし、定数のような変数を用意してあります。
必要なければ使わずに、スクリプト上で全部ケーサンして処理してもいいですし。

そんなかんじです。
はかどりすぎて顔がニヤけてしまい周囲に気味悪がられることうけあい。
どーですか。

macOS:クイックルックからテキストをコピペするのはアリかナシか

どうもどうも。
先に結論を言うと、アリかもしれない(結論とは)。

今年の春、ようやく会社機のmacOSをMontereyまで上げたんですよ。
業務使用していくうち、クイックルック上でテキストを選択&コピーできるのに気づいて、
うわー、おめーすげー便利じゃんすか、と一瞬だけ盛り上がったんですけども。
ちょっと怪しい結果がちらついたので、使うのやめました。
特性を把握した上で自己責任で使うにはいいんでしょうけど、
追加原稿のちょっぴりのテキストをものぐさに取り込む時など、
つい使ってしまいそうだったのをつよいこころでやめました。


以下、今回の質素な検証内容です。

Illustrator上でテキストを入力してみました。

察しのよいあなたにはもうおわかりでしょうけど、
Helvetica Neue Regularで「Illustrator」と打ち込むことで、
大文字アイと小文字エルの紛らわしいところがうまくできているのか見てやろうってんです。
ついでなので「Adobe」も入れちゃいました。
察しのよいあなたにはもう略でしょうけど、
これ「gdobA」を左右反転したやつです。

スペースが余ったので、小文字オー、ゼロ、大文字オー もなんとなく入れときました。
これをPDFで保存。
それをクイックルックで選択、コピー。

それをInDesignのテキストフレームにペースト。
さてどうじゃ。
おおっ、しっかりと「Abodg」になってる。ほかの箇所も存外に大丈夫だった。

つまり、今回これ、きわめて精度のよいOCRなのではないかと疑っていたんですが、
ちゃんとテキスト情報を拾ってくださってたという結果です。
反転したbとdを正しく拾ってくれてたわけ。
文字ごとに座標のZ順で評価してるのかな。たぶん。

とりあえず、事故るまで使ってみることにします。
でも皆さんはちゃんと慎重にやりましょうね。
うちだけ早く終わらせて早く帰ります。


── 追記 および 追試 ──

ものかのさんからコメントいただいてたのに気付いたのが盆休み明け。うわーすみません。
ということで追試。アウトライン文字はどうだ。
いちおう例によって左右反転したテキスト。

クイックルック上で選択はできそうで、できなさそうで、できそう。だけどぎこちない。
ので、⌘+Aしてコピーした。

InDesignにペースト…んんん、ぜんぶ半角スペースに。。

というわけで、テキスト以外(画像・図形でできた文字)が入っている可能性のあるファイル形式ではちょっと油断しきれないな、という結論に上書きです。
言ってしまえばプレーンテキスト(.txt)以外ほぼ全部、気をつけましょうということに。
なんということだ。

InDesign:「現在のページ」をPDF書き出しするためのやつ、2こ

はいどうもどうも。責了作業してますかー(耳に手をあてる)

なんやかんやの事由で、修正しながら単ページPDFをバラバラと出す場面があり、
いちいちページ範囲を入力するのがとてもだるいのでスクリプトを用意してみました。
内容的に大したことしてませんが少なくとも自分にはありがたいのでホクホクしとります。
どうぞどうぞ。

id_ singlePageExportScripts

(2024.08.19 片方のスクリプトを修正したり片方のスクリプトの問題点を追記したりしました後述)


あそびかた

スクリプト2こ入っています。

id_activePageRange.jsx

実行するとイベントリスナーが作成されます。

書き出し > PDF の際、アクティブなページがページ範囲に自動入力されるやつです。

これは、「プリント」にしかない「現在のページ」を模したものです。

この「現在のページ」は、ドキュメントウィンドウ左下に表示されるものと同じです。

イベントリスナーを削除するには、スクリプトをもういちど実行します。

2024.08.19 追記
ちょっと問題が残っていて、これで書き出す際、保存先ダイアログで既存ファイルを上書きすると、なんかよくわかんないエラーが出てしまいました。ゆるりと原因調査中です。


id_exportActivePagePDF.jsx

もういっこのほうは、上記にならったアクティブなページのPDFを書き出してしまうやつです。

実行すると保存先をきかれます。
保存先を指定するとアクティブなページのPDFが書き出されて終了。

こっちのスクリプトは、冒頭に宣言文があるので適宜かきかえて使います。

上から、
・書き出しプリセット名(手入力だとミスる可能性があるのでプリセット編集画面からコピペを推奨)
・プレフィクス(接頭辞)
・サフィックス(接尾辞)
・桁数(設定不要なら0に)
初期値は弊社向けですが、たとえば175ページを書き出したとき「●175.pdf」という名前になります。ここは好きに書き換えましょう。

2024.08.19 修正
上記パラメータに「桁数」を追加

ですです。