Adobe PDF ファイルは、特にフォームが含まれている場合に、オンラインで表示するときに適しています。Acrobat 5.x または Acrobat 6 Professional を使用すると、リストと、チェックボックス、ラジオボタン、テキストフィールド、またはボタンを含む Adobe PDF フォームを作成できます。例えば、ボタンで、web サーバー上のスクリプトにフォームデータを送信することができます(あるフォームのスクリプト、つまりアプリケーションは、データを収集して、データベースなどの別の場所に送信するために、web サーバー上に置かれている必要があります)。
Web ブラウザー(例えば、Netscape Navigator または Microsoft Internet Explorer)内から PDF フォームを送信します。Adobe Reader で PDF フォームを送信しようとすると、「Acrobat Forms:このフォームを送信するには、Web ブラウザーが必要です」のエラーが返されます。
PDF フォームの作成
フォームを作成するには、Acrobat 6 Professional のいずれかのフォームツール(ボタンツールやチェックボックスツールなど)を使用します。または、Acrobat 5.x のフォームツールを使用します。PDF ファイルのセキュリティ制限でフォームの変更が禁止されていない限り、どの PDF ファイルにもフォームを作成することができます(Adobe Reader、Acrobat Approval、Acrobat Standard ではフォームを作成することはできません)。
フォームデータの送信のオプション
フォームフィールドに情報を追加した後で、それらのフィールドから情報を収集して、フォームデータ形式(FDF)ファイルに保存することができます。FDF は、特に PDF フォームフィールドからエクスポートされたデータ用のテキストファイルです。FDF ファイルには、フォーム全体ではなくフォームフィールドのデータのみが含まれているため、PDF ファイルよりも小さいです。「詳細/フォーム/フォームデータを書き出し」(Acrobat 6 Professional)を選択するか、「ファイル/書き出し/フォームデータ」(Acrobat 5.x)を選択して、Acrobat で FDF ファイルを作成します。Adobe Reader 6 以降では、PDF ファイルからフォームデータを書き出すことができます。PDF ファイルの作成者が「フォーム入力」機能を有効にしていた場合、文書/フォーム入力を選択します。
また、FDF ファイルを作成して、それを web アドレス(URL)に送信するようにフォームボタンを設定することもできます。詳細については、後述の「CGI スクリプトを使用して FDF 情報を収集する」を参照してください。
FDF ファイルを作成した後は、別のアプリケーションにこのファイルを解析させて情報をデータベースに入力させることも、別の場所に電子的に送信することもできます。別の場所に送信する場合は、その場所にある PDF ファイルのフォームフィールドにそのデータを読み込むことができます(FDF データの読み込み先となる PDF ファイルのフォームフィールドは、FDF ファイルのフォームフィールドに直接対応している必要があります)。FDF ツールキットを使用して、データベースから PDF フォームフィールドにデータを入力することができます。フォームフィールドからデータを抽出してデータベースに取り込む場合は、FDF Toolkit を使用することもできます。 詳細については、後述の「Acrobat のフォームとスクリプトに関するヘルプを表示する」を参照してください。
フォームデータを送信するためのオプションである FDF、HTML、テキストに加え、Acrobat 5 以降では XFDF 形式で PDF ファイル全体またはフォームフィールドデータを送信することもできます。XFDF は XML でエンコードされた FDF であり、フィールドデータの階層表現を可能にしていますが、FDF で可能な数のデータの種類はサポートしていません。例えば、FDF には PDF ファイル、デジタル署名、グラフィックデータに対する増分変更を含めることができますが、XFDF には含められません。
PDF フォーム処理
Web ブラウザー内にオンラインで表示されている PDF フォームでは、フォーム送信機能など、ローカルで表示されている場合と同じ機能が保持されています。Web 上で機能するようにフォームを設定するには、プロセスで Acrobat が必要になる程度を調べ、web サーバーが引き継いだ開始点を識別します。フォームデータ(FDF)を web アドレスに送信するフォームフィールドボタンを作成できます。これらの手順は、Acrobat アプリケーションで行われます。フォームデータ送信の残りの部分は、web サーバーが処理します。FDF ファイルの送信先の URL は、FDF ファイルを処理する手順で設定されている必要があります。後で説明する CGI スクリプトは、FDF ファイルの受信に使用される最も一般的な種類のスクリプトです。
次に、web サーバー上のスクリプトに PDF フォーム情報を送信するために PDF ファイルを使用できる方法のワークフロー例を示します。
1. Acrobat で Acrobat PDF フォームファイルを作成し、そのファイルを web サーバー上に配置します。
2. ユーザーが web サーバーに接続し、PDF ファイルをロードします。
3. ユーザーが PDF フォームフィールドに入力し、「送信」ボタンをクリックします。
4. Acrobat ビューアーによって、フォームフィールド情報が FDF ファイルとして書き出されます。
5. 続いて FDF ファイルが指定された URL に送られます。その後、Acrobat ビューアーは不要になります。
6. 指定された URL にある CGI スクリプトが FDF ファイルを受信し、読み取り、その情報を処理します。
動的な PDF ファイルの提供
PDF ファイルに FDF 情報を提供することによって、PDF フォームフィールドに入力するように web サーバースクリプトを設定することができます。データベースからの応答を含む PDF フォームフィールドの入力は、データベースに対してクエリーを実行し、応答を受け取る操作に似ています。この場合は、応答を取得してフォームフィールドに戻すスクリプトが必要になります。これにより、データベースからの適切な情報が入力されます(FDF データの読み込み先となる PDF ファイルのフォームフィールドは、FDF ファイルのフォームフィールドに直接対応している必要があります)。
例えば、ユーザーが選択を行い、PDF フォームを使用して情報を送信した後に、ユーザーが選択したオプションが表示されている PDF ファイルを Web サーバーで返すようにすることができます。
PDF ファイルを動的に提供するには、スクリプトのほか、web サーバーのエクスペリエンスが必要になります。この場合、Acrobat のテクニカルサポートはお役に立てません。
CGI スクリプトを使用して FDF 情報を収集する
CGI(Common Gateway Interface)は、プログラムを実行し、結果を Web ブラウザーに返すための標準的なインターフェイススクリプト言語です。CGI スクリプトは、ファイルの読み取りと書き込み、データベースや他のアプリケーションへのアクセスを行えます。C や Perl などのプログラミング言語を使用して、テキスト編集アプリケーション(ワードパッドなど)で CGI スクリプトを作成します。FDF 情報を収集する CGI スクリプトを作成するには、次のものが必要です。
- C(コンパイラーが必要)や Perl(強力なテキスト処理機能と柔軟な構文を備える)などのプログラミング言語。
- プログラム言語の技能。CGI は、インターネット上の多くと同じように定期的に変更されます。CGI の最新の仕様を確認してください。
- FDF 情報を受信および処理するためのアプリケーション。
- Web サーバー。
Acrobat ビューアーは、FDF 情報をサーバーにルーティングできます。情報がサーバーに既に存在している場合、Acrobat ビューアーは他の場所にある情報を再ルーティングすることはできません。情報のルーティングには、CGI スクリプトを使用します(HTML ページと同様)。CGI スクリプトは、FDF データを解析、つまり読み取って、その命令に従ってルーティングします。
CGI スクリプトで FDF データを解析するには、Acrobat PDF フォームから web サーバーに送信する情報に CGI スクリプト名を含めてください。スクリプト名の後にはシャープ記号(#)と大文字「FDF」を付ける必要があります。これにより、スクリプトはデータを FDF と認識します。例えば、URL が「http:/cgi-bin/MyScript.cgi#FDF」と読み取れるとします。
CGI スクリプトのサンプルについては、Acrobat FDF ツールキット SDK を参照してください。これは、Adobe Partner Connection デベロッパープログラム Web サイトからダウンロードできます。
Acrobat のフォームとスクリプトに関するヘルプを表示する
Adobe Acrobat テクニカルサポートでは、Acrobat ソフトウェアの一般的なサポートを提供しています。ただし、Acrobat テクニカルサポートでは、次のサポートは行いません。
- JavaScript、CGI、またはその他のスクリプトおよびプログラミング言語(Acrobat で作成したファイル(PDF または FDF)で使用されている場合も含みます)。
- 動的ページテンプレート。動的ページテンプレートを使用すると、デベロッパーは、カスタマイズされたフォームアプリケーション、カタログ、パンフレット、その他のパブリケーションを作成して、迅速にパーソナライズし配信できます。
Adobe Partner Connection には、Acrobat Forms の Software Developers Toolkit(SDK)など、Acrobat フォームデベロッパーのドキュメントおよびサポートが用意されています。Adobe Partner Connection メンバーになる方法について詳しくは、Adobe の web サイト(http://partners.adobe.com/asn/developer/main.html)を参照してください。Acrobat SDK と FDF ツールキットを含むフォームリソースについては、http://partners.adobe.com/asn/acrobat/docs.jsp を参照してください。
追加情報
:「mailto:」コマンドを使用して Acrobat フォームの「送信」ボタンをテストする