UXP Script ではモダンなJavaScript(ES6) に対応したので、既存のJavaScriptライブラリを利用できるようになりました。
今回は SheetJS を使って MSエクセルデータを扱う方法を試しました。
完成したスクリプトの配布時にそれを一つにまとめたいので Rollup.js を使います。 この手のバンドルツールといえば webpack が定番ですが、 今回試した範囲では webpack と UXP InDesign Script の組み合わせはうまくいかなったので webpack の代わりに Rollup.js を使います。
2023-02-11 更新
Rollup.js の代わりに deno を使って bundle できることがわかりました。詳しくはこちらのエントリーをご覧ください。
完成したスクリプトの作動デモはこちらを https://youtu.be/SnpH6Ui7nOs ご覧ください。
» Read More「Node.js による InDesign ExtendScript モダン開発入門」というキンドル書籍を一年前くらいに書いたのですが、 とうとう、InDesign が最新バージョン(18.0)から UXP に対応しました。 つまり、小細工しなくても普通にいわゆるモダンなJavaScript (ES6) で InDesign 用の Script を書くことができるようになった。
なお、InDesign の UXP は Plugin にはまだ対応していないそうです。 UXP Scripting と呼ばれるスクリプト実行だけ対応した段階。 そのうち Plugin に対応するようです。 https://developer.adobe.com/indesign/uxp/plugins/ に Comming Soon って書いてあります。
ExtendScript で面倒だったことの一つに https の外部リソースを取得できなかったことがあります。 UXP ではこの問題が解決されているのか関心があったので調べました。 fetch が使える、と書いてあったので、いけるか!と思って調べたところ問題なく使えたので、UXPのスクリプトとともに得たことを簡単にシェアします。
なお、このエントリーでは InDesign 2023 (version 18.1)と UDT version 1.7.0.13 を使用しています。
» Read More先日、電子書籍「ExtendScript と Node.js による Markdown to InDesign 開発入門」をリリースしました。 Amazon の Kindle Unlimited の会員の方は無料で読めます。ExtendScript に関心がある方は是非ご覧ください。
これは、 以前リリースした「Node.js による InDesign ExtendScript モダン開発入門」の続編です。
書籍中のソースコードはこちらの Github レポジトリにあります。
» Read More今 ExtendScript を使って markdown テキストを InDeisgn 文書に変換する方法を考えている。 その際に画像の大きさの扱い方で悩んでいたのだが、 pandoc で ICML を経由して markdown を InDesign にする場合は、 markdown で次のようにそれを指定できるらしい。
» Read More文字スタイルをスクリプトでつくって適用する方法を調べた。
それを使って Hello, World! を生成して、段落スタイルと文字スタイルを適用するスクリプトを書いたので 備忘録を残します。
» Read MoreTwitter にて この電子書籍のアマゾン Kindle 無料サンプルは文字化けした状態であるとのご指摘がありました。 せっかく無料お試しいただいた方、誠に恐縮です。 現在、原因調査および対処中です。 → 解決しました。2022年 3月 4日 18時現在
» Read More昨年末に電子書籍「Node.js による InDesign ExtendScript モダン開発入門」をリリースしました。 Amazon の Kindle Unlimited の会員の方は無料で読めます。ExtendScript に関心がある方は是非ご覧ください。
内容は、Node.js を活用して ExtendScript 開発すると便利ですよ、という内容。 ExtendScript をある程度書いている人がもつ不満「今どきの JavaScript 記述方法を使って ExtendScript を書ければいいのに・・・」に応えるものです。
書籍中のソースコードはこちらの Github レポジトリにあります。
» Read MoreExtendScript には Socket があるので、http のように SSL でない ウェブリソースにアクセスすることができる。 しかし、SSL 化された https のウェブリソースにはアクセスする方法がない・・・と思っていたのだが、 なんと macOS では curl を経由すれば簡単にできることが判明した。
Windowsの場合も VBScript を経由することで実現できるようです。 詳しくは restix をご覧ください。
VSCode での ExtendScript 実行は、 Adobe Script Runner を使えば簡単ですが、 これで実行したときにエラーがあってもその内容が表示されません。 これでは開発には困るので、 代わりに使うのが ExtendScript Debugger です。
» Read MoreExtendScript は今風の JavaScript 記述方法……いわゆる ES6 などが使えない. その代わりに古い JavaScript の記述方法 ES3 などと呼ばれている で書かなければいけない. これはプログラマーにとって、苦痛なだけでなく、生産性も低く、コード品質の維持が難しい. しかし、TypeScript は JavaScript へコンパイルするときにオプションとして --target ES3 を使うことができる. これを使えば、ExtendScript を TypeScript で記述できることになる。
» Read MoreInDesignでつくれらた既存カタログから商品番号を出現順に抜き出す.
» Read MoreInDesign で json データを扱うときに便利なコードのメモ。
» Read More