初めて投稿させていただきます。
AcrobatSDKを使用して最適化されたPDFの作成を行いたいのですが、文書ファイルを開いた状態で、以下のプログラムを
実行すると保存するタイミングでAcrobatが強制終了してしまいます。
開発環境は以下の通りとなります。
Acrobat、AcrobatSDK:10
VisualStudio:2008
/**** 以下ソース ****/
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値を設定しましたが、「不当なパラメータ」としてはじかれてしまいます。
お手数をおかけ致しますが、ご教授いただけませんでしょうか。
よろしくお願い致します。