データのインポートとエクスポート

Form Data Integration Serviceについて

Form Data Integrationサービスでは、データをPDFフォームに読み込んだり、PDFフォームからデータを書き出したりできます。 インポート操作とエクスポート操作では、次の2種類のPDF formsがサポートされています。

  • Acrobatフォーム(Acrobatで作成)は、フォームフィールドを含むPDFドキュメントです。
  • AdobeXMLフォーム(Designerで作成)は、XMLAdobeXMLFormsアーキテクチャ(XFA)に準拠するPDFドキュメントです。

フォームデータは、PDFフォームの種類に応じて、次のいずれかの形式で存在する場合があります。

  • XFDF ファイル。Acrobat フォームデータ形式の XML バージョンです。
  • XDP ファイル。フォームフィールド定義を含む XML ファイルです。フォームフィールドデータと埋め込まれた PDF ファイルが含まれる場合もあります。Designerで生成されたXDPファイルは、埋め込みのbase-64エンコードPDFドキュメントを使用する場合にのみ使用できます。

Form Data Integrationサービスを使用して、次のタスクを実行できます。

  • PDF formsにデータをインポートします。 詳しくは、「フォームデータの 読み込み」を参照してください。
  • PDF formsからデータをエクスポートします。 詳しくは、「フォームデータの 書き出し」を参照してください。
メモ

For more information about the Form Data Integration service, see Services Reference for AEM Forms.

フォームデータの読み込み

Form Data Integrationサービスを使用して、フォームデータをインタラクティブPDF formsに読み込むことができます。 インタラクティブPDFフォームは、ユーザーから情報を収集したり、カスタムドキュメントを表示したりするための1つ以上のフィールドを含むPDF情報です。 Form Data Integrationサービスは、フォームの演算、検証、スクリプティングをサポートしていません。

Designerで作成されたフォームにデータを読み込むには、有効なXDP XMLデータソースを参照する必要があります。 次の住宅ローン申し込みフォームの例を考えてみましょう。

ie_ie_loanformdata

このフォームにデータ値を読み込むには、フォームに対応する有効なXDP XMLデータソースが必要です。 任意のXMLデータソースを使用して、Form Data Integrationサービスを使用してデータをフォームに読み込むことはできません。 任意のXMLデータソースとXDP XMLデータソースの違いは、XDPデータソースがXMLFormsアーキテクチャ(XFA)に準拠していることです。 次のXMLは、住宅ローン申し込みフォームの例に対応するXDP XMLデータソースを表しています。

 <?xml version="1.0" encoding="UTF-8" ?>
 - <xfa:datasets xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
 - <xfa:data>
 - <data>
     - <Layer>
         <closeDate>1/26/2007</closeDate>
         <lastName>Johnson</lastName>
         <firstName>Jerry</firstName>
         <mailingAddress>JJohnson@NoMailServer.com</mailingAddress>
         <city>New York</city>
         <zipCode>00501</zipCode>
         <state>NY</state>
         <dateBirth>26/08/1973</dateBirth>
         <middleInitials>D</middleInitials>
         <socialSecurityNumber>(555) 555-5555</socialSecurityNumber>
         <phoneNumber>5555550000</phoneNumber>
     </Layer>
     - <Mortgage>
         <mortgageAmount>295000.00</mortgageAmount>
         <monthlyMortgagePayment>1724.54</monthlyMortgagePayment>
         <purchasePrice>300000</purchasePrice>
         <downPayment>5000</downPayment>
         <term>25</term>
         <interestRate>5.00</interestRate>
     </Mortgage>
 </data>
 </xfa:data>
 </xfa:datasets>
メモ

For more information about the Form Data Integration service, see Services Reference for AEM Forms.

手順の概要

フォームデータをPDFフォームに読み込むには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. Form Data Integrationサービスクライアントを作成します。
  3. PDFフォームの参照
  4. XMLデータソースを参照します。
  5. PDFフォームにデータを読み込みます。
  6. PDFフォームをPDFファイルとして保存します。

プロジェクトファイルを含める

必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを必ず含めます。

次のJARファイルをプロジェクトのクラスパスに追加する必要があります。

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-formdataintegration-client.jar
  • adobe-utilities.jar(AEM FormsがJBossにデプロイされている場合に必須)
  • jbossall-client.jar(AEM FormsがJBossにデプロイされている場合に必須)

For information about the location of these JAR files, see Including AEM Forms Java library files.

Form Data Integrationサービスクライアントの作成

プログラムでデータをPDFフォームのクライアントAPIに読み込む前に、Data Integrationサービスクライアントを作成する必要があります。 サービスクライアントを作成する場合、サービスの呼び出しに必要な接続設定を定義します。 詳しくは、「接続プロパティの 設定」を参照してください。

PDFフォームの参照

PDFフォームにデータを読み込むには、Designerで作成したXMLフォームまたはAcrobatで作成したAcrobatフォームを参照する必要があります。

XMLデータソースの参照

フォームデータを読み込むには、有効なデータソースを参照する必要があります。 Designerで作成したXFA XMLフォームにデータを読み込むには、XDP XMLデータソースを使用する必要があります。 Acrobatフォームを参照する場合は、XFDFデータソースを使用する必要があります。 データの読み込み先のフィールドごとに、値を指定する必要があります。 XMLデータソース内の要素がフォーム内のフィールドに対応していない場合、その要素は無視されます。

PDFフォームへのデータの読み込み

PDFフォームと有効なXMLデータソースを参照した後、データをPDFフォームに読み込むことができます。

PDFフォームをPDFファイルとして保存する

フォームにデータを読み込んだ後、フォームをPDFファイルとして保存できます。 PDFファイルとして保存すると、ユーザーはAdobe ReaderまたはAcrobatでフォームを開いて、読み込んだデータを含むフォームを表示できます。

関連トピック

Java APIを使用したフォームデータの読み込み

WebサービスAPIを使用したフォームデータの読み込み

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Form Data Integration Service APIクイック開始

フォームデータの書き出し

Java APIを使用したフォームデータの読み込み

Form Data Integration API(Java)を使用してフォームデータを読み込みます。

  1. プロジェクトファイルを含めます。

    Javaプロジェクトのクラスパスに、adobe-formdataintegration-client.jarなどのクライアントJARファイルを含めます。

  2. Form Data Integrationサービスクライアントを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクタを使用して FormDataIntegrationClient オブジェクトを渡すことによって、ServiceClientFactory オブジェクトを作成します。
  3. PDFフォームの参照

    • コンストラクタを使用して java.io.FileInputStream オブジェクトを作成します。PDFフォームの場所を指定するstring値を渡します。
    • コンストラクターを使用して、PDFフォームを格納する com.adobe.idp.Document オブジェクトを作成し com.adobe.idp.Document ます。 PDFフォームを含む java.io.FileInputStream オブジェクトをコンストラクターに渡します。
  4. XMLデータソースを参照します。

    • コンストラクターを使用して java.io.FileInputStream オブジェクトを作成し、フォームに読み込むデータが含まれるXMLファイルの場所を指定するstring値を渡します。
    • フォームデータを格納する com.adobe.idp.Document オブジェクトを作成するには、コンストラクターを使用 com.adobe.idp.Document します。 フォームデータを含む java.io.FileInputStream オブジェクトをコンストラクターに渡します。
  5. PDFフォームにデータを読み込みます。

    オブジェクトのメソッドを呼び出し、次の値を渡して、 FormDataIntegrationClient importData データをPDFフォームに読み込みます。

    • PDFフォームを保存する com.adobe.idp.Document オブジェクトです。
    • フォームデータを格納する com.adobe.idp.Document オブジェクトです。

    この importData メソッドは、XMLデータソース内のデータを含むPDFフォームを格納する com.adobe.idp.Document オブジェクトを返します。

  6. PDFフォームをPDFファイルとして保存します。

    • Create a java.io.File object and ensure that the file extension is “.PDF”.
    • オブジェクトのメ Document ソッドを呼び出して、 copyToFile オブジェクトの内容をファイルにコピーします(メソッドから返された Document Document importData オブジェクトを必ず使用してください)。

関連トピック

手順の概要

クイック開始(SOAPモード):Java APIを使用したフォームデータの読み込み

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

WebサービスAPIを使用したフォームデータの読み込み

Form Data Integration API(Webサービス)を使用してフォームデータを読み込みます。

  1. プロジェクトファイルを含めます。

    MTOMを使用するMicrosoft .NETプロジェクトを作成します。 次のWSDL定義を使用していることを確認します。 http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1.

    メモ

    AEM Forms localhost をホストするサーバーのIPアドレスに置き換えます。

  2. Form Data Integrationサービスクライアントを作成します。

    • Create a FormDataIntegrationClient object by using its default constructor.

    • Create a FormDataIntegrationClient.Endpoint.Address object by using the System.ServiceModel.EndpointAddress constructor. WSDLをAEM Formsサービス(例えば、 http://localhost:8080/soap/services/FormDataIntegration?blob=mtom)に指定するstring値を渡します。 属性を使用する必要はありません lc_version 。 この属性は、サービス参照を作成する際に使用されます。 ただし、MTOMを使用す ?blob=mtom るように指定します。

    • フィールドの値を取得して System.ServiceModel.BasicHttpBinding オブジェクトを作成し FormDataIntegrationClient.Endpoint.Binding ます。 戻り値を BasicHttpBinding にキャストします。

    • オブジェクトの System.ServiceModel.BasicHttpBinding フィールドをに設定し MessageEncodingWSMessageEncoding.Mtomす。 この値により、MTOMが使用されます。

    • 次のタスクを実行して、基本的なHTTP認証を有効にします。

      • フィールドにAEM formsユーザー名を割り当て FormDataIntegrationClient.ClientCredentials.UserName.UserNameます。
      • 対応するパスワード値をフィールドに割り当て FormDataIntegrationClient.ClientCredentials.UserName.Passwordます。
      • 定数値をフィールド HttpClientCredentialType.Basic に割り当て BasicHttpBindingSecurity.Transport.ClientCredentialTypeます。
      • 定数値をフィールド BasicHttpSecurityMode.TransportCredentialOnly に割り当て BasicHttpBindingSecurity.Security.Modeます。
  3. PDFフォームの参照

    • コンストラクタを使用して BLOB オブジェクトを作成します。この BLOB オブジェクトは、PDFフォームの保存に使用されます。
    • Create a System.IO.FileStream object by invoking its constructor. PDFフォームの場所とファイルを開くモードを指定するstring値を渡します。
    • オブジェクトの内容を格納するバイト配列を作成し System.IO.FileStream ます。 バイト配列のサイズは、 System.IO.FileStream オブジェクトのプロパティを取得して決定でき Length ます。
    • オブジェクトのメソッドを呼び出して、バイト配列にストリームデータ System.IO.FileStream を入力し Read ます。 読み取るバイト配列、開始位置、ストリーム長を渡します。
    • オブジェクトにバイト配列の内容を割り当てて、 BLOB オブジェクト MTOM を入力します。
  4. XMLデータソースを参照します。

    • コンストラクタを使用して BLOB オブジェクトを作成します。この BLOB オブジェクトは、フォームに読み込まれるデータを保存するために使用します。
    • Create a System.IO.FileStream object by invoking its constructor. 読み込むデータが含まれるXMLファイルの場所と、ファイルを開くモードを指定するstring値を渡します。
    • オブジェクトの内容を格納するバイト配列を作成し System.IO.FileStream ます。 バイト配列のサイズは、 System.IO.FileStream オブジェクトのプロパティを取得して決定でき Length ます。
    • オブジェクトのメソッドを呼び出して、バイト配列にストリームデータ System.IO.FileStream を入力し Read ます。 読み取るバイト配列、開始位置、ストリーム長を渡します。
    • オブジェクトにバイト配列の内容を割り当てて、 BLOB オブジェクト MTOM を入力します。
  5. PDFフォームにデータを読み込みます。

    オブジェクトのメソッドを呼び出し、次の値を渡して、PDFフォームにデータ FormDataIntegrationClient を読み込み importData ます。

    • PDFフォームを保存する BLOB オブジェクトです。
    • フォームデータを格納する BLOB オブジェクトです。

    この importData メソッドは、XMLデータソース内のデータを含むPDFフォームを格納する BLOB オブジェクトを返します。

  6. PDFフォームをPDFファイルとして保存します。

    • コンストラクターを呼び出し、PDFファイルのファイルの場所を表すstring値を渡して、 System.IO.FileStream オブジェクトを作成します。
    • メソッドが返した BLOB オブジェクトのデータ内容を格納するバイト配列を作成し importData ます。 オブジェクトのフィールドの値を取得して、 BLOB バイト配列を設定し MTOM ます。
    • Create a System.IO.BinaryWriter object by invoking its constructor and passing the System.IO.FileStream object.
    • オブジェクトのメソッドを呼び出し、バイト配列を渡して、バイト配列の内容をPDFファイルに書き込み System.IO.BinaryWriterWrite す。

関連トピック

手順の概要

MTOMを使用したAEM Formsの呼び出し

フォームデータの書き出し

Form Data Integrationサービスを使用して、インタラクティブPDFフォームからフォームデータを書き出すことができます。 書き出されるデータの形式は、フォームの種類によって異なります。 フォームの種類がAcrobatで作成されたAcrobatフォームの場合、書き出されるデータはXFDFです。 フォームの種類がDesignerで作成されたXMLフォームの場合、書き出されたデータはXDPになります。

メモ

For more information about the Form Data Integration service, see Services Reference for AEM Forms.

手順の概要

PDFフォームからフォームデータを書き出すには、次の手順を実行します。

  1. プロジェクトファイルを含める
  2. Form Data Integrationサービスクライアントを作成します。
  3. PDFフォームの参照
  4. PDFフォームからデータを書き出します。
  5. 書き出したデータをXMLファイルとして保存します。

プロジェクトファイルを含める

必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを必ず含めます。

次のJARファイルをプロジェクトのクラスパスに追加する必要があります。

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-formdataintegration-client.jar
  • adobe-utilities.jar(AEM FormsがJBossにデプロイされている場合に必須)
  • jbossall-client.jar(AEM FormsがJBossにデプロイされている場合に必須)

Form Data Integrationサービスクライアントの作成

プログラムでデータをPDF formClient APIに読み込む前に、Data Integrationサービスクライアントを作成する必要があります。 サービスクライアントを作成する場合、サービスの呼び出しに必要な接続設定を定義します。 詳しくは、接続プロパティ の設定を参照してください

PDFフォームの参照

PDFフォームからデータを書き出すには、DesignerまたはAcrobatで作成され、フォームデータを含むPDFフォームを参照する必要があります。 空のPDFフォームからデータを書き出そうとすると、空のXMLスキーマが返されます。

PDFフォームからのデータの書き出し

フォームデータを含むPDFフォームを参照した後、フォームからデータを書き出すことができます。 データは、フォームに基づくXMLスキーマ内で書き出されます。

フォームデータをXMLファイルとして保存する

フォームデータを書き出した後、データをXMLファイルとして保存できます。 XMLファイルとして保存したXMLファイルは、XMLビューア内で開いてフォームデータを表示できます。

関連トピック

Java APIを使用したフォームデータの書き出し

WebサービスAPIを使用したフォームデータの書き出し

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Form Data Integration Service APIクイック開始

フォームデータの読み込み

Java APIを使用したフォームデータの書き出し

Form Data Integration API(Java)を使用してフォームデータを書き出す:

  1. プロジェクトファイルを含めます。

    Javaプロジェクトのクラスパスに、adobe-formdataintegration-client.jarなどのクライアントJARファイルを含めます。

  2. Form Data Integrationサービスクライアントを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクタを使用して FormDataIntegrationClient オブジェクトを渡すことによって、ServiceClientFactory オブジェクトを作成します。
  3. PDFフォームの参照

    • コンストラクターを使用して java.io.FileInputStream オブジェクトを作成し、書き出すデータが含まれるPDFフォームの場所を指定するstring値を渡します。
    • コンストラクターを使用して、PDFフォームを格納する com.adobe.idp.Document オブジェクトを作成し com.adobe.idp.Document ます。 PDFフォームを含む java.io.FileInputStream オブジェクトをコンストラクターに渡します。
  4. PDFフォームからデータを書き出します。

    オブジェクトの FormDataIntegrationClient メソッドを呼び出してフォームデータを書き出し、PDFフォームを保存する exportData com.adobe.idp.Document オブジェクトを渡します。 このメソッドは、フォームデータをXMLスキーマとして格納する com.adobe.idp.Document オブジェクトを返します。

  5. PDFフォームをPDFファイルとして保存します。

    • Create a java.io.File object and ensure that the file extension is XML.
    • オブジェクトのメ Document ソッドを呼び出して、 copyToFile オブジェクトの内容をファイルにコピーします(メソッドから返された Document Document exportData オブジェクトを必ず使用してください)。

関連トピック

手順の概要

クイック開始(SOAPモード):Java APIを使用したフォームデータの書き出し

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

WebサービスAPIを使用したフォームデータの書き出し

Form Data Integration API(Webサービス)を使用してフォームデータを書き出すには:

  1. プロジェクトファイルを含めます。

    MTOMを使用するMicrosoft .NETプロジェクトを作成します。 次のWSDL定義を使用していることを確認します。 http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1.

    • AEM Forms localhost をホストするサーバーのIPアドレスに置き換えます。
  2. Form Data Integrationサービスクライアントを作成します。

    • Create a FormDataIntegrationClient object by using its default constructor.

    • Create a FormDataIntegrationClient.Endpoint.Address object by using the System.ServiceModel.EndpointAddress constructor. WSDLをAEM Formsサービス(例えば、 http://localhost:8080/soap/services/FormDataIntegration?blob=mtom)に指定するstring値を渡します。 属性を使用する必要はありません lc_version 。 この属性は、サービス参照を作成する際に使用されます。 ただし、MTOMを使用す ?blob=mtom るように指定します。

    • フィールドの値を取得して System.ServiceModel.BasicHttpBinding オブジェクトを作成し FormDataIntegrationClient.Endpoint.Binding ます。 戻り値を BasicHttpBinding にキャストします。

    • オブジェクトの System.ServiceModel.BasicHttpBinding フィールドをに設定し MessageEncodingWSMessageEncoding.Mtomす。 この値により、MTOMが使用されます。

    • 次のタスクを実行して、基本的なHTTP認証を有効にします。

      • フィールドにAEM formsユーザー名を割り当て FormDataIntegrationClient.ClientCredentials.UserName.UserNameます。
      • 対応するパスワード値をフィールドに割り当て FormDataIntegrationClient.ClientCredentials.UserName.Passwordます。
      • 定数値をフィールド HttpClientCredentialType.Basic に割り当て BasicHttpBindingSecurity.Transport.ClientCredentialTypeます。
      • 定数値をフィールド BasicHttpSecurityMode.TransportCredentialOnly に割り当て BasicHttpBindingSecurity.Security.Modeます。
  3. PDFフォームの参照

    • コンストラクタを使用して BLOB オブジェクトを作成します。この BLOB オブジェクトは、データの書き出し元のPDFフォームを保存するために使用します。
    • Create a System.IO.FileStream object by invoking its constructor. PDFフォームの場所とファイルを開くモードを指定するstring値を渡します。
    • オブジェクトの内容を格納するバイト配列を作成し System.IO.FileStream ます。 バイト配列のサイズは、 System.IO.FileStream オブジェクトのプロパティを取得して決定でき Length ます。
    • オブジェクトの System.IO.FileStream Read メソッドを呼び出し、読み取るバイト配列、開始位置およびストリーム長を渡すことで、バイト配列にストリームデータを入力します。
    • オブジェクトにバイト配列の内容を割り当てて、 BLOB オブジェクト MTOM を入力します。
  4. PDFフォームからデータを書き出します。

    オブジェクトの FormDataIntegrationClient メソッドを呼び出し、PDFフォームを格納している exportData BLOB オブジェクトを渡して、PDFフォームにデータを読み込みます。 このメソッドは、フォームデータをXMLスキーマとして格納する BLOB オブジェクトを返します。

  5. PDFフォームをPDFファイルとして保存します。

    • コンストラクターを呼び出し、XMLファイルの場所を表すstring値を渡して、 System.IO.FileStream オブジェクトを作成します。
    • メソッドが返した BLOB オブジェクトのデータ内容を格納するバイト配列を作成し exportData ます。 オブジェクトのフィールドの値を取得して、 BLOB バイト配列を設定し MTOM ます。
    • Create a System.IO.BinaryWriter object by invoking its constructor and passing the System.IO.FileStream object.
    • オブジェクトのメソッドを呼び出し、バイト配列を渡して、バイト配列の内容をXMLファイルに書き込み System.IO.BinaryWriterWrite す。

関連トピック

手順の概要

MTOMを使用したAEM Formsの呼び出し

SwaRefを使用したAEM Formsの呼び出し

このページ