質問: 前提事項:実行環境 --------- OS:Windows7 SP1 Acrobat:Acrobat Reader XI 状況 -- 現在、PDFのページを削除する処理をPDF埋め込みのjavascriptで実現することを試みています。 そのため、Adobe Acrobat XI + JavaScript例文辞典様の「指定ページを削除する」ページを参考にさせていただいております。 しかし、上記ページのサンプル(sample.pdf)をうまく動かすことができておりません。 (ボタンを押すと2ページ目が削除されるはずだが、削除されない) Acrobat Reader付属のJavaScriptデバッガで確認したところ、以下のエラーが表示されておりました。 ○実行時エラー > > RaiseError: この操作は許可されていません Doc.deletePages:1:Field ボタン:Mouse Up ===> > > この操作は許可されていません > > > --- 同様に、Acrobat Reader 付属のJavaScriptデバッガ上で、以下コードを実行したところ、同様にエラーが出ております。 ○実行Script ``` this.deletePages(1); ``` ○エラー > > RaiseError: この操作は許可されていません Doc.deletePages:1:Console undefined:Exec > > ===> この操作は許可されていません > > > 質問事項 ---- 上記エラーについて、どのようにしたら回避できるでしょうか。 セキュリティの問題に見受けられたため、以下の通り設定を変更して試行しましたが、状況に変化はありません。 ○修正した設定 ■設定>Javascript ・メニュー項目のJavaScript実行権限を有効にする オフ→オン ・グローバルオブジェクトセキュリティポリシーを有効にする オン→オフ ■設定>セキュリティ ・変更なし ■設定>セキュリティ(拡張) ・拡張セキュリティを有効にする オン→オフ アドバイスよろしくお願いいたします。
回答: `deletePages()` のリファレンスに以下の記述があります。(斜体は原文ママ) > > Beginning with version 6.0, this method deletes *spawned* pages from within Adobe Reader for documents with forms usage rights enabled. > > > 試しにAcrobat上でページテンプレートを定義しておき、`this.getTemplate('hoge').spawn()` を実行するボタンを配置してみると、AcrobatやAdobeReader上でこのボタンを押して作られたページは `deletePages()` で削除することができました。しかしやはり普通のページは削除できませんでした。 リファレンスの記述と一致していることを考えると、回避するのは難しいように思います。