FPDIとレイヤーPDF


FPDIには非公開レイヤーを含むテンプレートPDFは使うな!

FPDIについて簡単に説明します。phpの無料PDF作成ライブラリとして有名なものに「FPDF」があります。「FPDF」だけで画像を合成したりラインを引けたりとほとんどのことが可能ですが、座標指定して1つ1つ調整して作成していくのはかなり手間です。PDFのうち動的に変化する箇所は一部ということは多々ありますので、変化しない箇所はAcrobatやWORDその他PDF作成ツールを使って作成し、動的部分と合成できればかなり楽になります。これを可能にしたのが「FPDI」です。

fpdi01

変化しない箇所をテンプレートとして作成しますが、FPDIでの仕様上注意が必要です。最近のPDFはレイヤー機能があり、表示したくない箇所は非表示レイヤーとして登録できます。
※詳しくはadobeサイトに書かれています。

fpdi02

上記の例では、4レイヤー構成でテンプレートPDFが作成されているとします。そのうちサンプルデータ部分を非公開レイヤーとしています。このレイヤーを保持したテンプレートPDFですが、レイヤー対応のリーダーではきちんと非公開レイヤーは消えてみえますが、対応していないと非公開部分もみえてしまいます。
「FPDI」は対応していないようです。合成すると非公開レイヤー部分が表示されてしまいました。詳しく調べたらレイヤー情報を保持できるかもしれませんが少なくともデフォルトでは保持できていません。もしFPDIを使ってPDFを生成したときに、プログラム上表示されるはずのない文字などが合成されてきていたら、テンプレートに非公開レイヤーがないか調べてみるといいかもしれません。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です