SOAPを使ってPHPとPDFを連携させる

ColdFusionはあきらめました!(^ ^);


ということで、やはりPHPとPDFの連携の道を探していたところ
WSDL(SOAP)を利用した連携機能がPDF Formには備わっていることが判りました。
LiveCycle ESとはこの技術を利用して連携しているようです。
ただ、LiveCycle ESは200万以上はするシステムですので導入なんて無理です。
技術さえ判っていれば無理矢理でも連携してみようと試行錯誤した結果、検証プログラムの動作に
成功しました。(まる2日かかりました・・・)


サンプルなどは後日記事にするとして、動作には以下のものが必要です。

  • PHPが動作するサーバ(PHP-SOAPXMLライブラリの設定が必要です。)
  • Acrobat Pro以上(正確には同梱されているLiveCycle Designer ES)



単純なサンプルで、Paramに文字を入れてボタンを押すとサーバと通信して結果がNameに入ります。
今回は、頭にhelloを付けるだけの関数ですがいろいろな応用が可能だと思います。
また、入力、出力ともに複数の値を渡すことが出来ます。


PHPサーバは詳細調査のためにPHP標準のSOAPサーバを利用しましたがZend_Soapでも動作すると
思います。今後は、Zend Frameworkを利用する方向で検証していきたいと思います。
また、AcrobatはPDFを作成するのに必要なだけで、閲覧・操作だけであればStandardでも可能だと
思います。Adobe Readerも大丈夫だと思うのですが手元になかったので不明です。


詳細は後日になりますが、連携を困難にしていたのは、

  • Zend_SoapやZendStudioなどPHP系ツールで生成されるWSDLでは正常に連携できない

という一点に限ります。
SOAPを触りはじめて3日の私にはどちらが解釈を間違っているのかは判りませんが
PHPとPDF(Java系?)にそれぞれクセがあるようです。