■道半ばですがまとめておきます   

おつかれさまです。@gorolibです。

考慮不足でダウンロード中止していたスクリプトがなんとかなり、先日再リリースしたのですが、
このスクリプトでは配置画像のタテヨコピクセル数が必要でした。
46

解像度の単位はppi(ピクセル・パー・インチ)ですからね。

ところがこのタテヨコピクセル数の取得がかなり難解でした。配置画像(PlacedItem)のプロパティを参照しても、そのような項目はありません。
49

参考:ADOBE ILLUSTRATOR CC 2017 SCRIPTING REFERENCE: JAVASCRIPT

boundingBoxは変形前の配置画像の座標であり「おお!これはっ!」と思うのですが、残念ながらピクセル数ではありません(プロパティ名が平凡すぎていつもスルーしてましたが新たな発見でした)。

もちろんgeometricBoundsをはじめとした、width、heightの値でもないのです。

万策尽きて、したたか企画さんに相談したところ、それぞれのExifデータを参照したら?というヒントをいただきまして、最終的にはJAVASCRIPT TOOLS GUIDE(以下マニュアルと記します)の"Scripting Access to XMP Metadata"という項目を参照し完成した次第です。

結論から言いますと、したたか企画さんのお見立てで正解でした。いつもありがとうございますm(_ _)m


…えーっと、サラサラっと書いてますけど私の凡人ザボーガーアタマ(意味なし)では、2週間ほど悩みましたことを付け加えておきますorz(先人の方はすごいなぁ…)。


■XMPデータ?メタデータ?EXIFデータ?


さて、ここら辺の情報をググると、ファイルに持っているxml形式のデータは、

XMPデータなのか、メタデータなのか、はたまたExifデータなのか

という用語の問題に必ずブチあたると思います。統一しないと説明しづらいので、一応このブログでは

XMPメタデータの中にExifデータがある

ということで仮置きしておきます。Adobeのマニュアルに"Scripting Access to XMP Metadata"という記述がありますし、実際XMPメタデータを見るとこうなってますので…

ちなみにヨコピクセル数のプロパティは「PixelXDimension」でした。

(クリックで拡大します)
58
※ただ「Exifデータの中にメタデータという付加情報がある」という説明もWebのそこかしこにありますので、よしなに。


■XMPメタデータを見るには


XMPメタデータは各種アプリケーションから見ることができます。

(Finder)(クリックで拡大します)
12
(Bridge)(クリックで拡大します)
55

(Photoshop)(クリックで拡大します)
20

(Rawデータ)(クリックで拡大します)
56
Rawデータは文字どおりxml形式の「生データ」という意味です。もちろんスクリプトで検証するにはRawデータが必要です。

Rawデータは各種Adobeアプリケーションから閲覧できますが、Bridgeがおすすめです。またテキスト出力してエディタで見ることをおすすめします(AdobeアプリケーションのRawデータ閲覧画面は使いづらいww)
19


■サンプルで説明します

以下は上記の勉強中につくった検証用スクリプトです。ソース公開しておきます。


起動してファイルを選ぶと、こうなります。最初がヨコピクセル数、次がタテピクセル数です。
45
50

xmp.getProperty(XMPConst.NS_EXIF, 'PixelXDimension')

ここが実際にピクセル値を取得しているところですが、
XMPConst.NS_EXIF…名前空間
PixelXDimension…プロパティ名
となります。

マニュアルの280ページによれば、getPropertyはこのような使い方となっています。
XMPMetaObj.getProperty(schemaNS, propName[, valueType])


また名前空間の一覧はマニュアルの262ページを参照しました。
05


…ちょっと歯切れがわるいのはまだ完全に理解していないからです。ごめんなさいm(_ _)m

引き続きちゃんとわかるように勉強しますので、気長にお待ちくださいませ。

お役に立てれば幸いです!ではでは出羽の海。