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

Zend_Soap側の用意が整ったところで、PDF側の機能を検証していきます。


目的は次の3点です。

  • PDFが開くと同時に自動的にSOAP経由でデータを取得する
  • サーバから何らかのパラメータをPDFに渡して取得するデータを制御する
  • AdobeReaderで利用する


まず、PDFフォームではJavaScriptを利用することができます。
http://help.adobe.com/ja_JP/livecycle/9.0/LiveCycle_Designer_Scripting_Basics.pdf
基本は上記ドキュメントが参考になります。
#正確にはES2(ver.9)ではなくES(ver.8)を利用しています。


イベントトリガー形式なのでPDFの準備完了時の「docReady」イベントを
利用することで、初期設定が可能です。
ここで、SOAPからの自動データ取得を行うことができそうです。


次に、サーバからのパラメータ渡しですがそのような機構は用意されていない
みたいです。(単なる勉強不足かもしれませんが)
なので、ZF流に呼び出すURLやファイル名そのものをパラメータにしてしまうことを
考えます。
試行錯誤の結果、下記のように取得できました。
#event.target を利用して取得するというのが罠でした。

ファイル名を取得する

 フォーム1.#subform[0].テキストフィールド1::docReady - (JavaScript, client)
this.rawValue = event.target.documentFileName;

パス名を取得する

 フォーム1.#subform[0].テキストフィールド2::docReady - (JavaScript, client)
this.rawValue = event.target.path;


最後に、AdobeReaderについては動きませんでした。
フォームの保存や、そもそもボタンなどが動作しません。
タダでは使わせないということでしょう。