このドキュメントのサンプルと例は、JEE環境上のAEM Formsに対してのみ提供されています。
Form Data Integrationサービスでは、データをPDFフォームに読み込んだり、PDFフォームからデータを書き出したりできます。 インポート操作とエクスポート操作では、次の2種類のPDF formsがサポートされています。
フォームデータは、PDFフォームの種類に応じて、次のいずれかの形式で存在する場合があります。
Form Data Integrationサービスを使用して、次のタスクを実行できます。
Form Data Integrationサービスの詳細については、『AEM Forms向けサービスリファレンス』を参照してください。
Form Data Integrationサービスを使用して、フォームデータをインタラクティブPDF formsに読み込むことができます。 インタラクティブPDFフォームは、ユーザーから情報を収集したり、カスタムドキュメントを表示したりするための1つ以上のフィールドを含むPDF情報です。 Form Data Integrationサービスは、フォームの演算、検証、スクリプティングをサポートしていません。
Designerで作成されたフォームにデータを読み込むには、有効なXDP XMLデータソースを参照する必要があります。 次の住宅ローン申し込みフォームの例を考えてみましょう。
このフォームにデータ値を読み込むには、フォームに対応する有効な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>
Form Data Integrationサービスの詳細については、『AEM Forms向けサービスリファレンス』を参照してください。
フォームデータをPDFフォームに読み込むには、次の手順を実行します。
プロジェクトファイルを含める
必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを必ず含めます。
次のJARファイルをプロジェクトのクラスパスに追加する必要があります。
これらのJARファイルの場所について詳しくは、「AEM FormsJavaライブラリファイルを含める」を参照してください。
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でフォームを開いて、読み込んだデータを含むフォームを表示できます。
関連トピック
Form Data Integration Service APIクイック開始
Form Data Integration API(Java)を使用してフォームデータを読み込みます。
プロジェクトファイルを含めます。
Javaプロジェクトのクラスパスに、adobe-formdataintegration-client.jarなどのクライアントJARファイルを含めます。
Form Data Integrationサービスクライアントを作成します。
ServiceClientFactory
オブジェクトを作成します。FormDataIntegrationClient
オブジェクトを渡すことによって、ServiceClientFactory
オブジェクトを作成します。PDFフォームの参照
java.io.FileInputStream
オブジェクトを作成します。PDFフォームの場所を指定するstring値を渡します。com.adobe.idp.Document
コンストラクターを使用して、PDFフォームを保存するcom.adobe.idp.Document
オブジェクトを作成します。 PDFフォームを含むjava.io.FileInputStream
オブジェクトをコンストラクターに渡します。XMLデータソースを参照します。
java.io.FileInputStream
オブジェクトを作成し、そのコンストラクターを使用して、フォームに読み込むデータを含むXMLファイルの場所を指定する文字列値を渡します。com.adobe.idp.Document
コンストラクターを使用して、フォームデータを格納するcom.adobe.idp.Document
オブジェクトを作成します。 フォームデータを含むjava.io.FileInputStream
オブジェクトをコンストラクターに渡します。PDFフォームにデータを読み込みます。
FormDataIntegrationClient
オブジェクトのimportData
メソッドを呼び出し、次の値を渡して、PDFフォームにデータを読み込みます。
com.adobe.idp.Document
オブジェクトです。com.adobe.idp.Document
オブジェクト。importData
メソッドは、XMLデータソース内のデータを含むPDFフォームを格納するcom.adobe.idp.Document
オブジェクトを返します。
PDFフォームをPDFファイルとして保存します。
java.io.File
オブジェクトを作成し、ファイル拡張子が「.PDF」であることを確認します。Document
オブジェクトのcopyToFile
メソッドを呼び出して、Document
オブジェクトの内容をファイルにコピーします(importData
メソッドから返されたDocument
オブジェクトを必ず使用してください)。関連トピック
クイック開始(SOAPモード):Java APIを使用したフォームデータの読み込み
Form Data Integration API(Webサービス)を使用してフォームデータを読み込みます。
プロジェクトファイルを含めます。
MTOMを使用するMicrosoft .NETプロジェクトを作成します。 次のWSDL定義を使用していることを確認します。http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1
.
localhost
を、AEM FormsをホストするサーバーのIPアドレスに置き換えます。
Form Data Integrationサービスクライアントを作成します。
FormDataIntegrationClient
オブジェクトを作成するには、そのデフォルトのコンストラクタを使用します。
System.ServiceModel.EndpointAddress
コンストラクターを使用してFormDataIntegrationClient.Endpoint.Address
オブジェクトを作成します。 WSDLをAEM Formsサービスに指定するstring値を渡します(例:http://localhost:8080/soap/services/FormDataIntegration?blob=mtom
)。 lc_version
属性を使用する必要はありません。 この属性は、サービス参照を作成する際に使用されます。 ただし、MTOMを使用するには?blob=mtom
を指定します。
FormDataIntegrationClient.Endpoint.Binding
フィールドの値を取得してSystem.ServiceModel.BasicHttpBinding
オブジェクトを作成します。 戻り値を BasicHttpBinding
にキャストします。
System.ServiceModel.BasicHttpBinding
オブジェクトのMessageEncoding
フィールドをWSMessageEncoding.Mtom
に設定します。 この値により、MTOMが使用されます。
次のタスクを実行して、基本的なHTTP認証を有効にします。
FormDataIntegrationClient.ClientCredentials.UserName.UserName
に割り当てます。FormDataIntegrationClient.ClientCredentials.UserName.Password
に割り当てます。HttpClientCredentialType.Basic
をフィールドBasicHttpBindingSecurity.Transport.ClientCredentialType
に割り当てます。BasicHttpSecurityMode.TransportCredentialOnly
をフィールドBasicHttpBindingSecurity.Security.Mode
に割り当てます。PDFフォームの参照
BLOB
オブジェクトを作成します。このBLOB
オブジェクトは、PDFフォームの保存に使用されます。System.IO.FileStream
オブジェクトを作成します。 PDFフォームの場所とファイルを開くモードを指定するstring値を渡します。System.IO.FileStream
オブジェクトの内容を格納するバイト配列を作成します。 System.IO.FileStream
オブジェクトのLength
プロパティを取得して、バイト配列のサイズを決定できます。System.IO.FileStream
オブジェクトのRead
メソッドを呼び出して、バイト配列にストリームデータを入力します。 読み取るバイト配列、開始位置、ストリーム長を渡します。BLOB
オブジェクトに、MTOM
フィールドにバイト配列の内容を割り当てて入力します。XMLデータソースを参照します。
BLOB
オブジェクトを作成します。このBLOB
オブジェクトは、フォームに読み込まれるデータを保存するために使用します。System.IO.FileStream
オブジェクトを作成します。 読み込むデータが含まれるXMLファイルの場所と、ファイルを開くモードを指定するstring値を渡します。System.IO.FileStream
オブジェクトの内容を格納するバイト配列を作成します。 System.IO.FileStream
オブジェクトのLength
プロパティを取得して、バイト配列のサイズを決定できます。System.IO.FileStream
オブジェクトのRead
メソッドを呼び出して、バイト配列にストリームデータを入力します。 読み取るバイト配列、開始位置、ストリーム長を渡します。BLOB
オブジェクトに、MTOM
フィールドにバイト配列の内容を割り当てて入力します。PDFフォームにデータを読み込みます。
FormDataIntegrationClient
オブジェクトのimportData
メソッドを呼び出し、次の値を渡して、PDFフォームにデータを読み込みます。
BLOB
オブジェクトです。BLOB
オブジェクト。importData
メソッドは、XMLデータソース内のデータを含むPDFフォームを格納するBLOB
オブジェクトを返します。
PDFフォームをPDFファイルとして保存します。
System.IO.FileStream
オブジェクトを作成します。importData
メソッドから返されたBLOB
オブジェクトのデータ内容を格納するバイト配列を作成します。 BLOB
オブジェクトのMTOM
フィールドの値を取得して、バイト配列を入力します。System.IO.FileStream
オブジェクトを渡し、System.IO.BinaryWriter
オブジェクトを作成します。System.IO.BinaryWriter
オブジェクトのWrite
メソッドを呼び出し、バイト配列を渡すことで、バイト配列の内容をPDFファイルに書き込みます。関連トピック
Form Data Integrationサービスを使用して、インタラクティブPDFフォームからフォームデータを書き出すことができます。 書き出されるデータの形式は、フォームの種類によって異なります。 フォームの種類がAcrobatで作成されたAcrobatフォームの場合、書き出されるデータはXFDFです。 フォームの種類がDesignerで作成されたXMLフォームの場合、書き出されたデータはXDPになります。
Form Data Integrationサービスの詳細については、『AEM Forms向けサービスリファレンス』を参照してください。
PDFフォームからフォームデータを書き出すには、次の手順を実行します。
プロジェクトファイルを含める
必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを必ず含めます。
次のJARファイルをプロジェクトのクラスパスに追加する必要があります。
Form Data Integrationサービスクライアントの作成
プログラムでデータをPDF formClient APIに読み込む前に、Data Integrationサービスクライアントを作成する必要があります。 サービスクライアントを作成する場合、サービスの呼び出しに必要な接続設定を定義します。 詳しくは、接続プロパティの設定を参照してください。
PDFフォームの参照
PDFフォームからデータを書き出すには、DesignerまたはAcrobatで作成され、フォームデータを含むPDFフォームを参照する必要があります。 空のPDFフォームからデータを書き出そうとすると、空のXMLスキーマが返されます。
PDFフォームからのデータの書き出し
フォームデータを含むPDFフォームを参照した後、フォームからデータを書き出すことができます。 データは、フォームに基づくXMLスキーマ内で書き出されます。
フォームデータをXMLファイルとして保存する
フォームデータを書き出した後、データをXMLファイルとして保存できます。 XMLファイルとして保存したXMLファイルは、XMLビューア内で開いてフォームデータを表示できます。
関連トピック
Form Data Integration Service APIクイック開始
Form Data Integration API(Java)を使用してフォームデータを書き出す:
プロジェクトファイルを含めます。
Javaプロジェクトのクラスパスに、adobe-formdataintegration-client.jarなどのクライアントJARファイルを含めます。
Form Data Integrationサービスクライアントを作成します。
ServiceClientFactory
オブジェクトを作成します。FormDataIntegrationClient
オブジェクトを渡すことによって、ServiceClientFactory
オブジェクトを作成します。PDFフォームの参照
java.io.FileInputStream
オブジェクトを作成し、書き出すデータを含むPDFフォームの場所を指定する文字列値を渡します。com.adobe.idp.Document
コンストラクターを使用して、PDFフォームを保存するcom.adobe.idp.Document
オブジェクトを作成します。 PDFフォームを含むjava.io.FileInputStream
オブジェクトをコンストラクターに渡します。PDFフォームからデータを書き出します。
FormDataIntegrationClient
オブジェクトのexportData
メソッドを呼び出してフォームデータを書き出し、PDFフォームを保存するcom.adobe.idp.Document
オブジェクトを渡します。 このメソッドは、フォームデータをXMLスキーマとして格納するcom.adobe.idp.Document
オブジェクトを返します。
PDFフォームをPDFファイルとして保存します。
java.io.File
オブジェクトを作成し、ファイル拡張子がXMLであることを確認します。Document
オブジェクトのcopyToFile
メソッドを呼び出して、Document
オブジェクトの内容をファイルにコピーします(exportData
メソッドから返されたDocument
オブジェクトを必ず使用してください)。関連トピック
クイック開始(SOAPモード):Java APIを使用したフォームデータの書き出し
Form Data Integration API(Webサービス)を使用してフォームデータを書き出すには:
プロジェクトファイルを含めます。
MTOMを使用するMicrosoft .NETプロジェクトを作成します。 次のWSDL定義を使用していることを確認します。http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1
.
localhost
を、AEM FormsをホストするサーバーのIPアドレスに置き換えます。Form Data Integrationサービスクライアントを作成します。
FormDataIntegrationClient
オブジェクトを作成するには、そのデフォルトのコンストラクタを使用します。
System.ServiceModel.EndpointAddress
コンストラクターを使用してFormDataIntegrationClient.Endpoint.Address
オブジェクトを作成します。 WSDLをAEM Formsサービスに指定するstring値を渡します(例:http://localhost:8080/soap/services/FormDataIntegration?blob=mtom
)。 lc_version
属性を使用する必要はありません。 この属性は、サービス参照を作成する際に使用されます。 ただし、MTOMを使用するには?blob=mtom
を指定します。
FormDataIntegrationClient.Endpoint.Binding
フィールドの値を取得してSystem.ServiceModel.BasicHttpBinding
オブジェクトを作成します。 戻り値を BasicHttpBinding
にキャストします。
System.ServiceModel.BasicHttpBinding
オブジェクトのMessageEncoding
フィールドをWSMessageEncoding.Mtom
に設定します。 この値により、MTOMが使用されます。
次のタスクを実行して、基本的なHTTP認証を有効にします。
FormDataIntegrationClient.ClientCredentials.UserName.UserName
に割り当てます。FormDataIntegrationClient.ClientCredentials.UserName.Password
に割り当てます。HttpClientCredentialType.Basic
をフィールドBasicHttpBindingSecurity.Transport.ClientCredentialType
に割り当てます。BasicHttpSecurityMode.TransportCredentialOnly
をフィールドBasicHttpBindingSecurity.Security.Mode
に割り当てます。PDFフォームの参照
BLOB
オブジェクトを作成します。このBLOB
オブジェクトは、データの書き出し元のPDFフォームを保存するために使用します。System.IO.FileStream
オブジェクトを作成します。 PDFフォームの場所とファイルを開くモードを指定するstring値を渡します。System.IO.FileStream
オブジェクトの内容を格納するバイト配列を作成します。 System.IO.FileStream
オブジェクトのLength
プロパティを取得して、バイト配列のサイズを決定できます。System.IO.FileStream
オブジェクトのRead
メソッドを呼び出し、読み取るバイト配列、開始位置、ストリーム長を渡すことで、バイト配列にストリームデータを入力します。BLOB
オブジェクトに、MTOM
フィールドにバイト配列の内容を割り当てて入力します。PDFフォームからデータを書き出します。
FormDataIntegrationClient
オブジェクトのexportData
メソッドを呼び出し、PDFフォームを保存するBLOB
オブジェクトを渡して、PDFフォームにデータを読み込みます。 このメソッドは、フォームデータをXMLスキーマとして格納するBLOB
オブジェクトを返します。
PDFフォームをPDFファイルとして保存します。
System.IO.FileStream
オブジェクトを作成します。exportData
メソッドから返されたBLOB
オブジェクトのデータ内容を格納するバイト配列を作成します。 BLOB
オブジェクトのMTOM
フィールドの値を取得して、バイト配列を入力します。System.IO.FileStream
オブジェクトを渡し、System.IO.BinaryWriter
オブジェクトを作成します。System.IO.BinaryWriter
オブジェクトのWrite
メソッドを呼び出し、バイト配列を渡すことで、バイト配列の内容をXMLファイルに書き込みます。関連トピック