2016-08-18 32 views
1

ツール>解析>オブジェクトデータツールで選択可能なタイプの「オブジェクト」のPDFを見て、「モデルツリー」でブラウズできるAdobe Acrobat用の簡単なjavスクリプトスクリプトを作成したいと思っています属性データを使用して変換します。Acrobatスクリプトでモデルツリーのオブジェクトデータ/属性にアクセスできますか?

私はdocsを通過しましたが、関連するものは見つかりませんでした。私が探しているものは、別の名前を持っている可能性があります。私が見つけた最も近いものはdataObjects and the Data classでしたが、これらはPDFポートフォリオの添付ファイルの周りを回っているようです。

[解析]> [オブジェクトデータツール]で使用されるスクリプトを使用して、属性保持インタラクティブオブジェクトの種類にアクセスするにはどうすればよいですか?


「オブジェクト」、「データ」、「属性」および「モデル」という用語はあまり一般的ではありません。疑わしいことを避けるために、これは、Acrobat UIで提示されているように、スクリプティングを介してアクセスしたいオブジェクトデータ/属性のタイプです。私は、私のスクリプトは、各1のために、左上のパネル上の項目を反復処理したい左下のパネルで同様にその属性のプロパティと値にアクセス:

enter image description here

この例では、地理参照マップに基づいていますPDFのこの機能は、ArcGISやMapInfoなどのGISアプリケーションで生成されるPDFでよく使用されます。

答えて

2

可能です。 AcrobatとReaderの3Dプレーヤーは実際には別々のJavaScriptエンジンですが、ドキュメントのJavaScriptと3D JavaScriptをつなぎ、モデルから情報を取得することができます。以下にリンクされている文書を見直したいと思うでしょう。古いですが、3D JavaScriptはそれ以来変更されていませんので、まだ有効です。

http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/js_3d_api_reference.pdf

モデルツリーの各ノードの属性は、メッシュオブジェクトのmetadataStringプロパティにXML文字列として格納されています。ドキュメントから3Dコンテキストにアクセスすることでそれを得ることができます。 1つの3D注釈しかないと仮定し、最初のページに次のコードを使用します。名前またはインデックスでメッシュを取得できます。 getByName()をgetByIndex()に置き換えてください。一般に、ノード名はモデルツリーに表示される名前と同じですが、必ずしもそうではありません。

var metadata = this.getAnnots3D(0)[0].context3D.scene.meshes.getByName("mesh name").metadataString 

次に、AcrobatのXMLDataオブジェクトのメソッドを使用して、文字列をXMLオブジェクトに変換する必要があります。そこからXPathを使用してプロパティを取得できます。

+0

Acrobat 3D注釈APIリファレンスのAcrobat DC版も2015年5月から公開されていますが、私の頭の上のURLは覚えていません。 –

関連する問題