このドキュメントのサンプルと例は、JEE 環境の AEM Forms のみを対象としています。
AEM Forms サービスは、ユーザーから情報を収集するために、インタラクティブ PDF Forms をクライアントデバイス(通常は web ブラウザー)にレンダリングします。インタラクティブ PDF フォームは、通常 XDP ファイルとして保存され、Designer で作成されるフォームデザインに基づいています。AEM Forms では、フォームデザインを含む com.adobe.idp.Document
オブジェクトを Forms サービスに渡すことができます。次に、Formsサービスがフォームデザインを com.adobe.idp.Document
オブジェクト。
com.adobe.idp.Document
オブジェクトを Forms サービスに渡す利点は、他のサービス操作が com.adobe.idp.Document
インスタンスを返すことです。つまり、別のサービス操作から com.adobe.idp.Document
インスタンスを取得し、レンダリングできます。例えば、(次の図に示すように)XDP ファイルが /Company Home/Form Designs
という名前のコンテンツサービス(非推奨)ノードに格納されているとします。
プログラムによってコンテンツサービス(非推奨)から Loan.xdp を取得し、XDP ファイルを com.adobe.idp.Document
オブジェクト内で Forms サービスに渡します。
Forms サービスについて詳しくは、AEM Forms サービスリファレンスを参照してください。
コンテンツサービス(非推奨)から取得したドキュメントを Forms サービスに渡すには、次のタスクを実行します。
プロジェクトファイルを含める
必要なファイルを開発プロジェクトに含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、プロキシファイルを含めます。
Forms と Document Management Client API オブジェクトの作成
プログラムで Forms Service API 操作を実行する前に、Forms Client API オブジェクトを作成します。また、このワークフローはコンテンツサービス(非推奨)から XDP ファイルを取得するため、Document Management API オブジェクトを作成します。
コンテンツサービス(非推奨)からフォームデザインを取得する
Java または web サービス API を使用して、コンテンツサービス(非推奨)から XDP ファイルを取得します。XDP ファイルは、com.adobe.idp.Document
インスタンス 内(または web サービスを使用する場合は BLOB
インスタンス)で返されます。その後、 Forms サービスに com.adobe.idp.Document
インスタンスを渡します。
インタラクティブ PDF フォームのレンダリング
インタラクティブフォームをレンダリングするには、コンテンツサービス(非推奨)から返された com.adobe.idp.Document
インスタンスを Forms サービスに渡します。
フォームデザインを含んだ com.adobe.idp.Document
を Forms サービスに渡します。renderPDFForm2
および renderHTMLForm2
という名前の 2 つの新しいメソッドは、フォームデザインを含む com.adobe.idp.Document
オブジェクトを受け入れます。
フォームデータストリームを使用してアクションを実行
クライアントアプリケーションの種類に応じて、フォームをクライアント web ブラウザーに書き込んだり、フォームを PDF ファイルとして保存したりできます。通常、web ベースのアプリケーションは、フォームを web ブラウザーに書き込みます。ただし、デスクトップアプリケーションは通常フォームを PDF ファイルとして保存します。
関連トピック
Forms サービスとコンテンツサービス(非推奨)API (Java) を使用して、コンテンツサービス(非推奨)から取得したドキュメントを渡します。
プロジェクトファイルを含める
adobe-forms-client.jar やadobe-contentservices-client.jar などのクライアント JAR ファイルを Java プロジェクトのクラスパスに含めます。
Forms と Document Management Client API オブジェクトの作成
ServiceClientFactory
オブジェクトを作成します。(接続プロパティの設定を参照)ServiceClientFactory
オブジェクトを渡すことによって、FormsServiceClient
オブジェクトを作成します。DocumentManagementServiceClientImpl
オブジェクトを渡すことによって、ServiceClientFactory
オブジェクトを作成します。コンテンツサービス(非推奨)からフォームデザインを取得する
DocumentManagementServiceClientImpl
オブジェクトの retrieveContent
メソッドを呼び出して、次の値を渡します。
SpacesStore
です。この値は必須パラメーターです。/Company Home/Form Designs/Loan.xdp
)。この値は必須パラメーターです。retrieveContent
メソッドは、XDP ファイルを含む CRCResult
オブジェクトを返します。CRCResult
オブジェクトの getDocument
メソッドを呼び出して、com.adobe.idp.Document
インスタンスを取得します。
インタラクティブ PDF フォームのレンダリング
FormsServiceClient
オブジェクトの renderPDFForm2
メソッドを呼び出して、次の値を渡します。
com.adobe.idp.Document
オブジェクトです。com.adobe.idp.Document
オブジェクトです。データを結合しない場合は、空の com.adobe.idp.Document
オブジェクトを渡します。PDFFormRenderSpec
オブジェクト。この値はオプションのパラメーターであり、実行時のオプションを指定しない場合は、null
を指定できます。URLSpec
オブジェクト。この値はオプションのパラメーターであり、null
を指定できます。java.util.HashMap
オブジェクト。この値はオプションのパラメーターであり、フォームにファイルを添付しない場合は、null
を指定できます。この renderPDFForm
メソッドは、クライアントの web ブラウザーに書き込む必要があるフォームデータストリームを含む FormsResult
オブジェクトを返します。
フォームデータストリームを使用してアクションを実行
FormsResult
オブジェクトの getOutputContent
メソッドを呼び出して、com.adobe.idp.Document
オブジェクトを作成します。getContentType
メソッドを呼び出して、com.adobe.idp.Document
オブジェクトのコンテンツタイプを取得します。javax.servlet.http.HttpServletResponse
オブジェクトのコンテンツタイプを設定するには、setContentType
メソッドを呼び出して、com.adobe.idp.Document
オブジェクトのコンテンツタイプを渡します。javax.servlet.http.HttpServletResponse
オブジェクトの getOutputStream
メソッドを呼び出して、フォームデータストリームをクライアント web ブラウザーに書き込むために使用される javax.servlet.ServletOutputStream
オブジェクトを作成します。com.adobe.idp.Document
オブジェクトの getInputStream
メソッドを呼び出すことによって、java.io.InputStream
オブジェクトを作成します。InputStream
オブジェクトの read
メソッドを呼び出して、フォームデータストリームを入力します。バイト配列を引数として渡します。javax.servlet.ServletOutputStream
オブジェクトの write
メソッドを呼び出して、フォームデータストリームをクライアント web ブラウザーに送信します。バイト配列を write
メソッドに渡します。関連トピック
クイックスタート(SOAP モード):Java API を使用した、Forms サービスへのドキュメントの受け渡し
Forms サービスおよびコンテンツサービス(非推奨) API(web サービス)を使用してコンテンツサービス(非推奨)から取得したドキュメントを渡すには、以下の手順を実行します。
プロジェクトファイルを含める
MTOM を使用する Microsoft .NET プロジェクトを作成します。このクライアントアプリケーションは 2 つの AEM Forms サービスを呼び出すので、2 つのサービス参照を作成します。Forms サービスに関連付けられたサービス参照には、WSDL 定義 http://localhost:8080/soap/services/FormsService?WSDL&lc_version=9.0.1
を使用します。
Document Management サービスに関連付けられたサービス参照には、WSDL 定義 http://localhost:8080/soap/services/DocumentManagementService?WSDL&lc_version=9.0.1
を使用します。
BLOB
データタイプは両方のサービス参照に共通なので、使用する場合は BLOB
データタイプを完全に修飾します。対応する web サービスのクイックスタートで、BLOB
インスタンスは完全に修飾されています。
localhost
を AEM Forms をホストしているサーバーの IP アドレスに置き換えます。
Forms と Document Management Client API オブジェクトの作成
デフォルトのコンストラクターを使用して FormsServiceClient
オブジェクトを作成します。
System.ServiceModel.EndpointAddress
コンストラクターを使用してFormsServiceClient.Endpoint.Address
オブジェクトを作成します。WSDL を 指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/FormsService?WSDL
)。lc_version
属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。
FormsServiceClient.Endpoint.Binding
フィールドの値を取得して、System.ServiceModel.BasicHttpBinding
オブジェクトを作成します。戻り値を BasicHttpBinding
にキャストします。
System.ServiceModel.BasicHttpBinding
オブジェクトの MessageEncoding
フィールドを WSMessageEncoding.Mtom
に設定します。この値により、MTOM が確実に使用されます。
次のタスクを実行して、HTTP 基本認証を有効にします。
FormsServiceClient.ClientCredentials.UserName.UserName
フィールドに AEM Forms ユーザー名を割り当てます。FormsServiceClient.ClientCredentials.UserName.Password
フィールドに割り当てます。HttpClientCredentialType.Basic
をBasicHttpBindingSecurity.Transport.ClientCredentialType
フィールドに割り当てます。フィールド BasicHttpBindingSecurity.Security.Mode
に定数値 BasicHttpSecurityMode.TransportCredentialOnly
を割り当てます。
DocumentManagementServiceClient
サービスクライアント向けに、以下の手順を繰り返します。
コンテンツサービス(非推奨)からフォームデザインを取得する
DocumentManagementServiceClient
オブジェクトの retrieveContent
メソッドを呼び出し、以下の値を渡してコンテンツを取得します。
SpacesStore
です。この値は必須パラメーターです。/Company Home/Form Designs/Loan.xdp
)。この値は必須パラメーターです。BLOB
出力パラメーター。この出力パラメーターを使用して、コンテンツを取得できます。ServiceReference1.MyMapOf_xsd_string_To_xsd_anyType
出力パラメーター。CRCResult
出力パラメーター。このオブジェクトを使用する代わりに、 BLOB
出力パラメーターを使用して、コンテンツを取得できます。インタラクティブ PDF フォームのレンダリング
FormsServiceClient
オブジェクトの renderPDFForm2
メソッドを呼び出して、次の値を渡します。
BLOB
オブジェクトです。BLOB
オブジェクトです。データを結合しない場合は、空の BLOB
オブジェクトを渡します。PDFFormRenderSpec
オブジェクト。この値はオプションのパラメーターであり、実行時のオプションを指定しない場合は、null
を指定できます。URLSpec
オブジェクト。この値はオプションのパラメーターであり、null
を指定できます。Map
オブジェクト。この値はオプションのパラメーターで、フォームにファイルを添付しない場合は、null
を指定できます。.
の保存に使用する FormsResult
出力パラメーターrenderPDFForm2
メソッドは、インタラクティブ PDF フォームを含む FormsResult
オブジェクトを返します。
フォームデータストリームを使用してアクションを実行
FormsResult
オブジェクトの outputContent
フィールドの値を取得して、フォームデータを含む BLOB
オブジェクトを作成します。System.IO.FileStream
オブジェクトを作成します。インタラクティブ PDF ドキュメントのファイルの場所と、ファイルを開くモードを表す文字列値を渡します。FormsResult
オブジェクトから取得した BLOB
オブジェクトのコンテンツを格納するバイト配列を作成します。バイト配列を入力するには、BLOB
オブジェクトの MTOM
データメンバーの値を取得します。System.IO.BinaryWriter
オブジェクトを渡すことによって、System.IO.FileStream
オブジェクトを作成します。System.IO.BinaryWriter
オブジェクトの Write
メソッドを呼び出して、バイト配列を渡すことによって、バイト配列の内容を PDF ファイルに書き込みます。関連トピック