4 返信 最新の回答 日時: Feb 16, 2007 10:00 AM ユーザー:(einstein2nd)

    JPEGの書き出しで選択部分を指定すると出力されない

    Level 1
      環境:Win-xp,InDesign-CS2,VS2005,VB
      目的:Webアプリケーションでライブラリファイルを選択する際にイメージで選択したい。
      手段:ライブラリのアセットをJPEGファイルに変換して使用する。
      ソース:
      MyLibrary = myInDesign.Open(libraryFileName)
      MyAssets = MyLibrary.Assets
      If MyAssets.Count > 0 Then
      For i = 1 To MyAssets.Count
      MyAsset = MyAssets.Item(i)
      Dim sl As InDesign.Objects
      'アセットを配置し文書の選択にする。
      sl = MyAsset.PlaceAsset(myDocument)
      myDocument.Select(sl, InDesign.idSelectionOptions.idReplaceWith)
      'JPEGの書き出し
      myInDesign.JPEGExportPreferences.ExportingSpread = True
      myInDesign.JPEGExportPreferences.JPEGExportRange = InDesign.idExportRangeOrAllPages.idExportAll
      myInDesign.JPEGExportPreferences.JPEGQuality = InDesign.idJPEGOptionsQuality.idMaximum
      myInDesign.JPEGExportPreferences.ExportingSelection = True
      myDocument.Export(InDesign.idExportFormat.idJPG, outPath) '<--------ファイルが作成されない
      Next
      End If

      もっとスマートにサムネールをライブラリから取得できればいいのですが。
      テンプレート(台紙)のイメージはこの方法でJPEGファイルに変換しました。

      アドバイスをよろしくお願い致します。
        • 1. Re: JPEGの書き出しで選択部分を指定すると出力されない
          Level 1
          以下のようにダイアログを出していろいろ試してみました。
          myDocument.Export(InDesign.idExportFormat.idJPG, outPath, True)
          確かに選択部分を指定すると書き出しが実行されずに次へ行ってしまいますね。
          同じことをCSでやると問題なく作成されるので、CS2の不具合のような気がします。

          とりあえずの解決方法としてドキュメントサイズをアセットの大きさに変更する(アセットがドキュメントサイズの最小値より大きいことが条件ですが)ことで逃げれるのかな、と思いましたが、あま りスマートな方法ではないですね。
          • 2. Re: JPEGの書き出しで選択部分を指定すると出力されない
            Level 1
            おーまちさん

            早速のご回答ありがとうございます。
            CS2の問題のようですね。英語のサイトですが同じような問題で解決しているようです。しかし、VBではなくC#のようです。C#でできるならVBでもできそうだと考えるのですが、いかがでし ょうか。

            http://www.nnseek.com/e/adobe.scripting.indesign/js_cs2_export_jpeg_selection_does_not_wor k_8268479t.html#comments

            ドキュメントサイズをアセットの大きさに変更すればできるのですか?試してみたいと思います。また、書き出し処理がされないように思われますが、同じファイル名のものが存在していると、そのフ ァイルは削除されてしまいます。

            よろしくお願い致します。
            • 3. Re: JPEGの書き出しで選択部分を指定すると出力されない
              Level 1
              >VBではなくC#のようです。
              JavaScriptですね。この方法だと問題なくできますね。
              VBに翻訳すると
              myInDesign.Selection(1).Export "JPEG", outPath
              になります。
              従って
              >ドキュメントサイズをアセットの大きさに変更
              は忘れてください。

              追加です。
              myInDesign.Selection(1).Export idExportFormat.idJPG, outPath
              でもいけました。
              どうもCS2では選択部分を書き出す際にはドキュメントのExportではなくオブジェクトのExportを使わないといけないみたいですね。
              • 4. Re: JPEGの書き出しで選択部分を指定すると出力されない
                Level 1
                お〜まちさん

                myInDesign.Selection(1).Export InDesign.idExportFormat.idJPG, outPath でちゃんと出力されました。
                ありがとうございました。

                ダメ元でアップしてみましたが、こんなに早く解決できるなんて感激です。

                大変お世話になりました。