0 返信 最新の回答 日時: Mar 19, 2015 5:07 PM ユーザー:s-onishi

    AcrobatSDKを使用して最適化したPDFの作成を実行するとAcrobatが強制終了してしまう。

    s-onishi Level 1

      初めて投稿させていただきます。

       

      AcrobatSDKを使用して最適化されたPDFの作成を行いたいのですが、文書ファイルを開いた状態で、以下のプログラムを

      実行すると保存するタイミングでAcrobatが強制終了してしまいます。

      開発環境は以下の通りとなります。

      Acrobat、AcrobatSDK:10

      VisualStudio:2008

      開発言語:C++

       

      /**** 以下ソース ****/

      AVDoc avDoc=AVAppGetActiveDoc();

       

      PDEOptParamsRec pdfOptParams;

      PDFont font[1]={};

       

      ASText t=ASTextFromPDText("Standard");     //Standardの設定値を取得

      ASBool b = AVGetOptimizerParamsForPreset(t, avDoc, &pdfOptParams);

       

      pdfOptParams.bRemovePrivateData = true; //[他のアプリケーションのプライベートデータを破棄]にチェック

      pdfOptParams.bRemoveDocInfoAndMetadata = true; //[文書情報とメタデータを破棄]にチェック

      pdfOptParams.arrPDFontsToUnembed = font;     //埋め込まないフォントの設定

      pdfOptParams.cPDFontsToUnembed = 0;

       

      AVDocSaveOptimized(avDoc, &pdfOptParams);

       

      AFfree(t);

      /************************/

      ※日本語表記のコメントは実際には存在しておりません。

       

      arrPDFontsToUnembedプロパティとcPDFontsToUnembedプロパティは取得したタイミングではarrPDFontsToUnembedに

      0x00000001が設定されていたため、当初Null値を設定しておりましたが、不当なパラメータとはじかれてしまうため空の配列を

      設定しています。


      デバッグを実行するとAVDocSaveOptimized(avDoc, &pdfOptParams);終了時に「Unhandled exception at 0x00000000 in

      Acrobat.exe: 0xC0000005: Access violation.」メッセージが表示されるのでメモリのアクセス違反になると思いますが、

      どのプロパティの設定値が違反しているのか不明な状態です。


      fileSysプロパティの値が現PDFファイルと異なるために発生しているのではと思い、APIReferenceにfileSysプロパティにNullを設定することで、

      現文書ファイルの情報が設定されると記載されていたため、Null値を設定しましたが、「不当なパラメータ」としてはじかれてしまいます。

       

      お手数をおかけ致しますが、ご教授いただけませんでしょうか。

      よろしくお願い致します。