はじめに
さて諸般の事情で、PDFLibとPHPによる電子署名を試してみることにしました。
http://www.pdflib.jp/product/download/plop/
電子署名を行うのには
- PDFLib
- PLOP および PLOP DS
これらの3製品を使います。
そして、PLOPの方が2019/12/11現在PHP7.2まで対応しているので、すべての作業にかかる前にPHPのバージョンを合わせておきます。
PDFLib
PDFLibは、ここから所定のプラットフォームのアーカイブをダウンロード。
http://www.pdflib.jp/product/download/pdflib/#pdflib-archives
Macの場合.dmgファイルですが、この中のbindフォルダ配下から該当のバージョンのフォルダの中の php_pdflib.so ファイルをPHPのextensionファイル(/usr/local/lib/php/extensions/ とか)に配置したうえ、php.iniに
extension=/usr/local/lib/php/extensions/php_pdflib.so
とか記述します。
PLOP
PLOPも同様に所定のプラットフォームのアーカイブをダウンロード。
http://www.pdflib.jp/product/download/plop/#plop-archives
同様にMacの場合.dmgファイルですが、この中のbindフォルダ配下から該当のバージョンのフォルダの中の php_pdflib.so ファイルをPHPのextensionファイル(/usr/local/lib/php/extensions/ とか)に配置したうえ、php.iniに
extension=/usr/local/lib/php/extensions/php_pdflib.so
とか記述します。
ここまで対応してapacheを再起動すると、phpinfoにこの様によしなに記述されるはずです。
phpinfoに記述されない場合は、php7.2なら
・php-720
・php-720-nts
とフォルダ分けがされていると思うので、このntsがついた方を試すと幸せかもです。
電子署名
電子署名を入れるサンプルはこちら。
https://www.infotek.co.jp/pdflib/plop/plop_nyumon.html
んで今回のオーダーはここから、署名バージョンを重ねないとならないのでした。
このソースを2ファイル作って、後ろのファイルでは既に署名のついたファイルを元ファイルとして読み込み…
よっしゃ。これが tcpdf では、署名が上書きされてしまってできないんだ。
教訓。お金さえかければなんとかなることもある!w