このクイックスタートでは、「Forms」サービスを使用してプロセスを作成し、描画された PDF フォームから送信された XDP データを使用する方法について説明します。XDP データはデータベースに保存したり、別のサービスに送信して処理したり、後で処理できるように操作して保存することが可能です。AEM forms サービスの詳細は、『 サービスリファレンス』を参照してください。
Forms サービスを使用すると、データは XDP データとして送信されます。結果のデータは XML データ(XDP データなし)に変換されます。フォームデザインで、送信されるデータの種類を設定できます(Designer ヘルプを参照)。例えばある組織で、ローン申請を送信できるように、北米の申込者に対して共通の PDF フォームがレンダリングされるプロセスを使用しているとします。その組織の別のグループは、次のように国に基づいてローン申請を処理します。
申込者は Web ブラウザーで、Forms サービスによってレンダリングされた PDF フォームに入力します。申込者の居住国は
Country
フィールドによって判断されます。ユーザーはドロップダウンリストから居住国を選択します。ドロップダウンリストでは、「
Canada
」および「
United States
」の値を選択できます。
この組織では、
handleSubmissionApp
というアプリケーションがこのサービスを実装しています。ユーザーが PDF フォームの「Submit」ボタンをクリックすると、XDP データが Java サーブレットに送信されます。サーブレットは handleSubmissionApp サービスを呼び出します。サービスは Forms を使用して XDP データを処理して、別のステップでデータを XML ファイルに保存します。米国の申込者からの XDP データは、ネットワーク上の場所 ¥¥GroupA_US¥loan.xml に保存されます。カナダの申込者からの XDP データは、ネットワーク上の場所 ¥¥GROUP_B_CAN¥loan.xml に保存されます。ローン申請のデータファイルを一意にするには、ファイル名の最後に一意の数値文字列を付加します。例えば、loan.xml ファイルがネットワーク上の場所に存在する場合は loan1.xml を作成します。
handleSubmissionApp アプリケーションには、次の項目を含む handleFormSubmission というプロセスがあります。
-
「Submit」ボタンがクリックされたときにサーブレットから送信された XDP データを保存する、
xdpXML
という入力
document
変数。
-
XML データを保存する、
outputXML
という出力
document
変数。
-
PDF フォームから送信されたデータを処理する「processFormSubmission」操作(Forms サービス)。
-
XML データを
document
値として保存する 2 つの「Write Document」操作(File Utilities サービス)。XML の保存先は、申込者がドロップダウンリストで「Canada」と「United States」のどちらを選んだかによって異なります。
-
実行する次の操作を決定する条件付きルート。Country フィールドの値が「United States」の場合、「Write Document」操作を実行し、それ以外の場合は「Write Document2」操作を実行します。
次に、handleFormSubmission プロセスのプロセスダイアグラムを示します。
注意:
このプロセスダイアグラムで、条件付きルートは点線で表されています。
わかりやすいように、次に XDP データの関連部分を示します。データは
<xfa:datasets>
要素に保存され、XML ツリー内の各要素はプロセス内でアクセスできます。次の例では、申込者は米国在住です。
<?xml version="1.0" encoding="UTF-8"?>
<?xfa generator="XFA2_4" APIVersion="3.0.8262.0"?>
<xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/" timeStamp="2009-11-27T19:16:38Z" uuid="1fe71528-34a5-43df-8ad1-7f08126b3698">
...
<xfa:datasets xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
<xfa:data>
<LoanApp>
<Name>Akira Tanaka</Name>
<LoanAmount>100000</LoanAmount>
<PhoneOrEmail>atanaka@sampleorganization.com</PhoneOrEmail>
<Country>United States</Country>
<ApprovalStatus>PENDING APPROVAL</ApprovalStatus>
</LoanApp>
...
<xfa:data>
...
</xdp:xdp>