Home About
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
電子書籍「Node.js による InDesign ExtendScript モダン開発入門」をリリース

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

Node.js による InDesign ExtendScript モダン開発入門

内容は、Node.js を活用して ExtendScript 開発すると便利ですよ、という内容。 ExtendScript をある程度書いている人がもつ不満「今どきの JavaScript 記述方法を使って ExtendScript を書ければいいのに・・・」に応えるものです。

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

» Read More
ExtendScript から https にアクセスする

ExtendScript には Socket があるので、http のように SSL でない ウェブリソースにアクセスすることができる。 しかし、SSL 化された https のウェブリソースにはアクセスする方法がない・・・と思っていたのだが、 なんと macOS では curl を経由すれば簡単にできることが判明した。

Windowsの場合も VBScript を経由することで実現できるようです。 詳しくは restix をご覧ください。

wttr.in with vscode

» Read More
VSCode と ExtendScript Debugger の使い方 覚書

VSCode での ExtendScript 実行は、 Adobe Script Runner を使えば簡単ですが、 これで実行したときにエラーがあってもその内容が表示されません。 これでは開発には困るので、 代わりに使うのが ExtendScript Debugger です。

» Read More
ExtendScript を TypeScript と VisualStudioCode を使って記述する

ExtendScript は今風の JavaScript 記述方法……いわゆる ES6 などが使えない. その代わりに古い JavaScript の記述方法 ES3 などと呼ばれている で書かなければいけない. これはプログラマーにとって、苦痛なだけでなく、生産性も低く、コード品質の維持が難しい. しかし、TypeScript は JavaScript へコンパイルするときにオプションとして --target ES3 を使うことができる. これを使えば、ExtendScript を TypeScript で記述できることになる。

» Read More
既存のカタログから商品番号を抜き出してソートする話

InDesignでつくれらた既存カタログから商品番号を出現順に抜き出す.

» Read More
InDesign CC ExtendScript, Save / Read / Parse JSON

InDesign で json データを扱うときに便利なコードのメモ。

» Read More
InDesign ExtendScript でローカルファイルを開いて処理する

事前にテキストアンカーとその出現ページを記録しておいた json をファイルとして用意しておいて、それを読み取りながら、参照ページを書きかえるようなケース...などで役に立つコード断片のメモ。

» Read More
InDesign , XML文書からテーブルを生成する

InDesign では XML文書を流し込み組版するための仕組みが予め備わっています。 所定のルールでXMLを書いておき、それを所定の方法で読み込めばよいだけです。

» Read More
InDesign CS5 テキスト選択範囲をXMLツリーに関連づけして結果をXMLファイルとして出力 jsx

InDesign上で選択しているテキスト範囲をXMLツリー(構造)に関連づけ&結果をXMLファイルとして出力するための jsx を書いたのでメモ。

» Read More
InDesign CS5 のExtendScriptをターミナルから実行する(Mac OS X)

ターミナルから InDesign CS5 用スクリプトが実行する方法です。 この方法を使えば、ESTKを起動しなくても ExtendScript をターミナルから実行できるので、vim などでコードを書いていると便利な場合があります。 特にESTKのテキスト編集機能は気に入らない場合には。

» Read More
InDesign , ExtendScript で表を作成するときの覚え書き

HTMLのテーブルをそのまま ExtendScript 経由で自動組版しようと思っている。 当然 colspan, rowspan がガンガンにはいっている。 CSSで指定されているボーダーにも対応しなければならない。

» Read More
Groovy から InDesign を叩く(Windows編) 〜 Groovy から InDesign CS3 のJavaScriptを実行する方法

ExtendScript Toolkit を使わないで、 直接InDesignのCOMを経由してExtendScript(JavaScript,VBScript)を実行する方法。

» Read More
InDesign(CS3)でXML書き出ししたときの改行(u2029 = PARAGRAPH SEPARATOR)の取り扱い方法

InDesignでXML書き出しするときに、改行情報はどうなるのか?の調査。

» Read More
はじめてのInDesign CS3 JavaScript,ちょっとしたテクニックあれこれ

InDesign CS3 でJavaScriptを使って自動組版する場合に毎回使うちょっとしたテクニックを整理しました。

» Read More
はじめてのInDesign CS3 JavaScript, カラー(スウォッチ)の作成と利用および基本図形の追加

InDesignでは、単に文字やイラスト・イメージの配置だけでなく、四角形や多角形・楕円などを直接配置できます。 これをJavaScriptから操作するにはどうすればいいのか? また、それらの図形オブジェクトの色はどうやって指定するのか?

» Read More