質問: ### 前提・実現したいこと perlのCAM::PDFモジュール(ver 1.58)をつかってPDFファイルの操作をしていますが,「appendPDF」コマンドで下記のエラーが発生して「die」します.べつのスクリプトでもさいきん同様のエラーが発生し,ハンドリングするPDFファイルを作成するAcrobatが最新版(11)で,CAM::PDFが対応できない「何か」を含んでいるのが原因ではないかと思います.(1)CAM::PDF側で対応可能か,(2)べつのモジュールをつかえば対応できるか,(3)ハンドリングするときのPDF作成/修正条件を変更すれば回避できるかのいずれかについてご教示いただけないでしょうか. ### 発生している問題・エラーメッセージ ``` adding new forms is not implemented at /usr/local/share/perl5/CAM/PDF.pm ``` ### 該当のソースコード ``` $pdfOut -> appendPDF( $pdf ); ``` ### 試したこと ふるいバージョンのAcrobat(10以前)で作成したのPDFファイルの場合にはエラーは発生しません. ### 補足情報(言語/FW/ツール等のバージョンなど) より詳細な情報
回答: CAM-PDFのソースを見たところ、追加したいPDFにフォームがあるのに追加先のPDFにないと、ご質問のメッセージを出してdieするようになっています (なお、追加先のPDFにフォームがあると、追加したいPDFのフォームの全てのフィールドをその中にコピーするようです)。 このモジュールを使ったことがないので推測ですが、次のいずれかの方法で問題を回避できるかもしれません。 * 追加したいPDFがフォームを含まないようにする。 フォームがあるPDFを追加しようとしなければ問題は回避できるはずです。 * 追加先のPDFにフォームを入れておく。 上で述べたように、フォームがあれば問題が起きないかもしれません。 * 追加したいPDFにフォームがあっても無視するよう、ソフトウェアを修正する。 CAM/PDF.pmの、問題のメッセージを出してdieしている行をコメントアウトすれば、無視するようになるはずです。 * 他のモジュールを使ってみる。 CAM::PDFのドキュメントのSEE ALSO節にいくつか紹介されています (ただしAPIは異なりますし、今回の目的に合わないものも含まれています)。 以上、いずれの方法も未確認ではありますが。