5 返信 最新の回答 日時: Apr 19, 2007 6:05 PM ユーザー:(どくだみ)

    InDesignCS2 SDKで、できること

    Level 1
      私、VC++経験は少々、
      Illustratorの経験はありますが、
      InDesignに関しては初心者の者です。
      WindowsXP環境で、InDesignCS2及びVisualStudio2003Enterpriseを使用しています。
      英語を読むのに苦戦し、SDK付属のドキュメントを理解できずにいます。

      やりたいことは、InDesignのプラグイン作成ではなく、
      外部プログラムからInDesignを操作して
      決められたデザインのパンフレット等で、
      一部の数値や折れ線グラフを、DBから取得した値で変更することです。

      拾い集めた拙い量の情報を総合しますと
      ・InDesign内でのスクリプティングは、
       JavaScriptやApplescriptなど。
      ・SDKの開発開発は、VisualC++。
      (プラグイン開発には.NET Frameworkは必要なし)
      ・InDesignServerというものを購入し、プログラムを組めば、
       多数のユーザが使用することを前提に、
       外部プログラムからの自動組版を行うにということのように感じるのですが、
      僕がやりたいことを実現するには、たとえ1ユーザで使用するのでも
      InDesignServerが必要なのでしょうか?

      お手数ですが、おわかりになる方がいらっしゃいましたら、
      ご教授願えると助かります。
      よろしくお願いいたします。
        • 1. Re: InDesignCS2 SDKで、できること
          Level 1
          ★InDesignのテンプレートの修正<br />「決められたデザイン」のInDesignのファイルに変更したい部分をそれぞれ独立したフレームに作りかえます。そしてそのフレームにそれぞれ異なるタグ名を割り当てます。変更を保存 してください。データ書き出し(Ctrl+E)で、XMLに書き出してください。<br /><br />★吐き出されたXMLの中身の例<br /><?xml version="1.0" encoding="Shift_JIS" standalone="yes"?><br /><Root><br /><picture01 href="file:///C:/mydata/graph01.jpg"></picture01><br /><value01>10</value01><br /><value02>2007.4.4</value02><br /><text01>文字列</text01><br /></Root><br /><br />★プログラム/スクリプトの作成<br />DBに登録されるデータ(数値や文字列、InDesignに配置可能な、画像や他の埋め込み可能なファイルパス)を、DBから取得し、上の仕様のXMLを書き出すプログラムをVisua lStudioで作成します。<br /><br />修正したテンプレートを開き、プログラムが吐き出したXMLを読み込めば変更されます。
          • 2. Re: InDesignCS2 SDKで、できること
            Level 1
            早速の回答、どうもありがとうございます。
            こんなに簡単にXMLデータの流し込みができるのですね!
            勉強になります。

            ただ、できれば
            ・InDesignを起動し、該当のテンプレートを開く
            →「XMLの読み込み」を行って、テンプレートにデータを反映
            →任意のユニークな名前をつけて保存

            というところまで自動で行いたいのですが、
            可能でしょうか?

            また、InDesignCS2のSDKとは、
            プラグインを作成するためのもので、
            外部からInDesignを操作することができるものでは
            ないのでしょうか?

            たびたび申し訳ありませんが、よろしくお願いいたします。
            • 3. Re: InDesignCS2 SDKで、できること
              Level 1
              Windows 自動化ソフト 「UWSC」 というツールをお勧めします。

              このツールの特徴はユーザーの操作(マウス/キーボード操作)の記録/再生が行えます。
              つまり、どのようなアプリケーションでも一度操作を記録することによって、いつでも再現できます。
              ただし、システムの状態や異なるPCでの再生では、アプリケーションの応答速度等により問題が起こる場合があり、調整が必要です。
              しかし、これらの操作を記録した「UWSファイル」は、独自のスクリプト言語で書かれたテキストファイルです。
              独自のスクリプト言語の仕様もマスターしやすく、関数と制御文(条件分岐など)充実しています。
              詳細はこちら→ http://www.uwsc.jp/

              私の場合は、Excel のワークシートのからですが、VBAでUWSファイル(テキスト)とXMLファイル(テキスト)を書き出し、書き出したUWSファイルを実行(再生)させるようにしています。

              ★UWSファイルの構成
              1.使用するInDesignのファイルを開く(起動する)処理
              2.使用するXMLファイルを読み込む処理
              3.更新されたInDesignのファイルを保存する処理
              4.InDesignを終了する処理
              • 4. Re: InDesignCS2 SDKで、できること
                Level 1
                UWSCというソフトの紹介、ありがとうございます。
                これを使用することで、主に自動化できそうですね。
                ありがとうございます。

                とりあえずはこの方法で自動化を行ってみます。

                ただ、できれば
                こちらはSDKのユーザフォーラムということで、
                SDKを使用したプログラミングでの方法も
                探っていきたく思います。
                自分でも調べてみて、何かわかりましたら
                書き込みさせていただきますね。
                また、何かおわかりの方がいらっしゃいましたら、
                ご教授いただけると幸いです。

                ひきつづき、よろしくお願いいたします。
                • 5. Re: InDesignCS2 SDKで、できること
                  Level 1
                  SDKやUWSCといったツールを使うまでもなく、スクリプト(AppleScriptやVB)で実現できるのではないでしょうか?
                  仰るようにSDKはプラグインを開発するための開発環境です。プラグイン自体、アプリケーションが起動していることが前提ですので、アプリを起動することはできないと思います。
                  AppleScriptやVBからならInDesignの起動や終了を含めて様々な操作が可能です。

                  スクリプトで何ができるかに関しては、製品に付属のドキュメント(InDesign CS2 スクリプトリファレンス.pdf/スクリプティングガイド.pdf)を参照してください。