Home About
InDesign 18.4 の変更点と UXP InDesign Script を deno_emit でバンドルする

Hello, World!

InDesign 18.4 から require() API を使って InDesign DOM を取得するように変わったそうです。 詳しくはこのページ https://developer.adobe.com/indesign/uxp/recipes/dom-versioning/ をご覧ください。

18.4 以前は、app などが予めグロバール変数として存在していたが、これを以下のように取得する。

» Read More
UXP InDesign, TypeScript を使う (Denoを使用) require を回避

Deno を使えば TypeScript を使って UXP InDesign スクリプトをバンドルできることがわかった。 というのが前回のエントリー。 しかし、 require("uxp").storage.localFileSystem を使う場合なども機能するのだろうか? と思い立ち調査しました。 結論としては問題ありません。

結論だけ知りたい場合はこちらのレポジトリの read-text-ts をご覧ください。

» Read More
UXP InDesign, TypeScript を使う (Denoを使用)

Deno を使えば TypeScript を使って UXP InDesign スクリプトをバンドルできることがわかった。

以前軽く試したときは、deno bundle した段階で型関連のエラーが出てしまいバンドルできなかった。 でも考えてみたら(考えるほどでもないが)自分で型定義を用意して bundle 時とかコンパイル時に渡せば無問題なのでは? と思い立ち試したところ問題なくバンドルできた。

結論だけ知りたい場合はこちらのレポジトリの hello-world-ts を見てください。

このエントリーではごく簡単な UXP InDesign Scripting の例で説明します。

UXP InDesign Scripting Hello,World! with TypeScript

» Read More
UXP InDesign, エクセルデータを読んでInDesignテーブルにレンダリング

pokemon xlsx

エクセルデータ起点のなになに・・・というケースに備えて、UXP InDesign Scripting の読み込みサンプルを書きました。

» Read More
UXP InDesign, マークダウンテキストを InDesign ドキュメントに変換

markdown-to-indesign

前回のエントリーで、Deno の bundle コマンドを使うことで(とりあえずは)いい感じに、 依存するモジュールを含めて一つのファイルにまとめることができることがわかりました。

» Read More
やり直し UXP InDesign, SheetJS を利用して MSエクセルデータを扱う(Deno編)

UXP InDesign, SheetJS を利用して MSエクセルデータを扱う(rollup.js編)では、rollup.js を使ってスクリプトをひとつのファイルにまとめていました(バンドル)が、Deno を使ってバンドルできることがわかりました。

もっとも、あくまでここで検証した簡単なスクリプトについてうまくバンドルできたという話です。 いろいろなケース、とかすべてのケースで、Deno によるバンドル(rollup.js によるバンドルもそうですが)がうまくいくかはわかりません。

簡単に手順を書き残します。

» Read More
UXP InDesign, SheetJS を利用して MSエクセルデータを扱う(Rollup編)

UXP Script ではモダンなJavaScript(ES6) に対応したので、既存のJavaScriptライブラリを利用できるようになりました。

今回は SheetJS を使って MSエクセルデータを扱う方法を試しました。

完成したスクリプトの配布時にそれを一つにまとめたいので rollup.js を使います。 この手のバンドルツールといえば webpack が定番ですが、 今回試した範囲では webpack と UXP InDesign Script の組み合わせはうまくいかなったので webpack の代わりに rollup.js を使います。

2023-02-11 更新
rollup.js の代わりに deno を使って bundle できることがわかりました。詳しくはこちらのエントリーをご覧ください。

uxp-indesign-and-sheetjs

完成したスクリプトの作動デモはこちらを https://youtu.be/SnpH6Ui7nOs ご覧ください。

» Read More
UXP InDesign Hello, World!

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のスクリプトとともに得たことを簡単にシェアします。

mac price list

なお、このエントリーでは InDesign 2023 (version 18.1)と UDT version 1.7.0.13 を使用しています。

» Read More
電子書籍「Markdown to InDesign 開発入門」をリリース

先日、電子書籍「ExtendScript と Node.js による Markdown to InDesign 開発入門」をリリースしました。 Amazon の Kindle Unlimited の会員の方は無料で読めます。ExtendScript に関心がある方は是非ご覧ください。

ExtendScript と Node.js による Markdown to InDesign 開発入門

これは、 以前リリースした「Node.js による InDesign ExtendScript モダン開発入門」の続編です。

書籍中のソースコードはこちらの Github レポジトリにあります。

» Read More
pandoc を使って markdown を ICML にする場合の画像の大きさ指定

今 ExtendScript を使って markdown テキストを InDeisgn 文書に変換する方法を考えている。 その際に画像の大きさの扱い方で悩んでいたのだが、 pandoc で ICML を経由して markdown を InDesign にする場合は、 markdown で次のようにそれを指定できるらしい。

» Read More
InDesign ExtendScript で段落および文字スタイルをつくって適用する Hello, World!

文字スタイルをスクリプトでつくって適用する方法を調べた。

Hello, World!

それを使って Hello, World! を生成して、段落スタイルと文字スタイルを適用するスクリプトを書いたので 備忘録を残します。

» Read More
文字化け問題→解決) 電子書籍「Node.js による InDesign ExtendScript モダン開発入門」

Twitter にて この電子書籍のアマゾン Kindle 無料サンプルは文字化けした状態であるとのご指摘がありました。 せっかく無料お試しいただいた方、誠に恐縮です。 現在、原因調査および対処中です。 → 解決しました。2022年 3月 4日 18時現在

» Read More