Java API を使用して、送信された XML データを使用した PDF ドキュメントを作成する
Forms、Output、Document Management API(Java)を使用して、送信された XML データを使用した PDF ドキュメントを作成します。
-
プロジェクトファイルを含める
Java プロジェクトのクラスパスに、adobe-forms-client.jar、adobe-output-client.jar、adobe-contentservices-client.jar などのクライアント JAR ファイルを含めます。
-
Forms、Output、Document Management オブジェクトを作成する
- 接続プロパティを含む
ServiceClientFactory
オブジェクトを作成します。 - コンストラクターを使用して
ServiceClientFactory
オブジェクトを渡すことにより、FormsServiceClient
オブジェクトを作成します。 - コンストラクターを使用して
ServiceClientFactory
オブジェクトを渡すことにより、OutputClient
オブジェクトを作成します。 DocumentManagementServiceClientImpl
オブジェクトを作成するには、コンストラクターを使用して、ServiceClientFactory
オブジェクトを渡します。
- 接続プロパティを含む
-
Forms サービスを使用したフォームデータの取得
-
FormsServiceClient
オブジェクトのprocessFormSubmission
メソッドを呼び出して、次の値を渡します。- フォームデータを含む
com.adobe.idp.Document
オブジェクト。 - 関連するすべての HTTP ヘッダーを含む、環境変数を指定する文字列値。
CONTENT_TYPE
環境変数に 1 つ以上の値を指定して、処理するコンテンツタイプを指定します。例えば、XML データを処理するには、このパラメーターCONTENT_TYPE=text/xml
に次の文字列値を指定します。 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
などのHTTP_USER_AGENT
ヘッダー値を指定する文字列値。- 実行時オプションを格納する
RenderOptionsSpec
オブジェクト。
processFormSubmission
メソッドは、フォーム送信の結果を含むFormsResult
オブジェクトを返します。 - フォームデータを含む
-
FormsResult
オブジェクトのgetAction
メソッドを呼び出して、Forms サービスがフォームデータの処理を完了したかどうかを判断します。このメソッドが値0
を返した場合、処理するデータの準備が整っています。 -
フォームデータを取得するには、
FormsResult
オブジェクトのgetOutputContent
メソッドを呼び出して、com.adobe.idp.Document
オブジェクトを作成します。(このオブジェクトには、Output サービスに送信できるフォームデータが含まれています。) -
java.io.InputStream
オブジェクトを作成するには、java.io.DataInputStream
コントラクターを呼び出して、com.adobe.idp.Document
オブジェクトを渡します。 -
静的な
org.w3c.dom.DocumentBuilderFactory
オブジェクトのnewInstance
メソッドを呼び出して、org.w3c.dom.DocumentBuilderFactory
オブジェクトを作成します。 -
org.w3c.dom.DocumentBuilderFactory
オブジェクトのnewDocumentBuilder
メソッドを呼び出すことによってorg.w3c.dom.DocumentBuilder
オブジェクトを作成します。 -
org.w3c.dom.DocumentBuilder
オブジェクトのparse
メソッドを呼び出してjava.io.InputStream
オブジェクトを渡すことによってorg.w3c.dom.Document
オブジェクトを作成します。 -
XML ドキュメント内の各ノードの値を取得します。このタスクを実行する 1 つの方法は、
org.w3c.dom.Document
オブジェクトおよび値を取得するノードの名前の 2 つのパラメーターを受け入れるカスタムメソッドを作成することです。このメソッドは、ノードの値を表す文字列値を返します。このプロセスに続くコード例では、このカスタムメソッドはgetNodeText
と呼ばれています。このメソッドの本文を示します。
-
-
Output サービスを使用して、非インタラクティブ PDF ドキュメントを作成します。
PDF ドキュメントを作成するには、
OutputClient
オブジェクトのgeneratePDFOutput
メソッドを呼び出して、次の値を渡します。TransformationFormat
列挙値。PDF ドキュメントを生成するには、TransformationFormat.PDF
を指定します。- フォームデザイン名を指定する文字列値。フォームデザインが Forms サービスから取得したフォームデータと互換性があることを確認してください。
- フォームデザインが配置されているコンテンツルートを指定する文字列の値です。
- PDF 実行時オプションを含む
PDFOutputOptionsSpec
オブジェクト。 - レンダリング実行時オプションを含む
RenderOptionsSpec
オブジェクト。 - フォームデザインと結合するデータを含む XML データソースを含む
com.adobe.idp.Document
オブジェクト。FormsResult
オブジェクトのgetOutputContent
メソッドによって、このオブジェクトが返されたことを確認してください。 generatePDFOutput
メソッドは、操作の結果を含むOutputResult
オブジェクトを返します。OutputResult
オブジェクトのgetGeneratedDoc
メソッドを呼び出して、非インタラクティブ PDF ドキュメントを取得します。このメソッドは、非インタラクティブ PDF ドキュメントを表すcom.adobe.idp.Document
インスタンスを返します。
-
Document Management サービスを使用した、PDF フォームのコンテンツサービスへの保存(非推奨)
コンテンツを追加するには、
DocumentManagementServiceClientImpl
オブジェクトのstoreContent
メソッドを呼び出して、次の値を渡します。- コンテンツの追加先となるストアを指定する文字列値です。デフォルトのストアは
SpacesStore
です。この値は必須パラメーターです。 - コンテンツが追加されるスペースの完全修飾パスを指定する文字列値(例えば、
/Company Home/Test Directory
)。この値は必須パラメーターです。 - 新しいコンテンツを表すノード名(例えば、
MortgageForm.pdf
)。この値は必須パラメーターです。 - ノードタイプを指定する文字列値です。PDF ファイルなどの新しいコンテンツを追加するには、
{https://www.alfresco.org/model/content/1.0}content
を指定します。この値は必須パラメーターです。 - コンテンツを表す
com.adobe.idp.Document
オブジェクト。この値は必須パラメーターです。 - エンコーディング値を指定する文字列値(例えば、
UTF-8
)。この値は必須パラメーターです。 - バージョン情報の処理方法を指定する
UpdateVersionType
列挙値(例えば、コンテンツバージョンを増分するためのUpdateVersionType.INCREMENT_MAJOR_VERSION
。)この値は必須パラメーターです。 - コンテンツに関連する側面を指定する
java.util.List
インスタンス。この値はオプションのパラメーターで、null
を指定できます。 - コンテンツ属性を格納する
java.util.Map
オブジェクト。
storeContent
メソッドは、コンテンツを説明するCRCResult
オブジェクトを返します。CRCResult
オブジェクトを使用すると、例えば、コンテンツの一意の識別子の値を取得できます。このタスクを実行するには、CRCResult
オブジェクトのgetNodeUuid
メソッドを呼び出します。 - コンテンツの追加先となるストアを指定する文字列値です。デフォルトのストアは