2 返信 最新の回答 日時: Jan 18, 2016 5:39 PM ユーザー:imoxxx

    スクリプトでの連結テキストフレームへの画像の配置について

    imoxxx

      先ほど、InDesign SDKの方で別の質問をさせていただいたのですが(自己解決済み)、また不明点が出てきたので質問させていただきます。

      現在マスターページ上で連結されたテキストフレームへ、外部XMLデータを流し込むプログラムを作成しています。

      (開発環境はMac 10.10.5 / CS6 / javaScriptです)

      XMLにある画像パスから連結テキストに画像を入れ込むと、visibleBounds (geometricBounds)やplace()が効かなくなるようで困っております。

      具体的なソースコードは下記になります。

      (必要な部分だけに簡略化しています)


      var doc = app.activeDocument;

      var tf = doc.pages[0].textFrames[0];

      var xmls = doc.xmlElements.item("Root").xmlElements.item;

      for (i=0; i<xmls.length; i++) {

        var ins = tf.parentStory.insertionPoints[-1];

        var img = ins.textFrames.add();

        tf.parentStory.recompose();

        img.contentType = ContentType.GRAPHIC_TYPE;

        img.visibleBounds = [0, 0, 50, 50];

        img.place(xmls[i].contents);

        }

      }

       

      parentStoryではなくテキストフレームに直接配置すれば動くのですが、

      テキストフレームですと、配置する位置がずれてしまいます。

      parentStoryでも単純に画像用のインラインフレームを置くだけならば大丈夫なのですが、

      それ以上の処理をするとエラーが出てしまいます。

      どうもrecompose()がうまく動いていないような感じもするのですが、

      何かよい解決策がありましたら、お知らせいただけると大変ありがたく思います。