非インタラクティブPDFドキュメントは、インタラクティブPDFフォームを入力として使用する際にアセンブリできます。 つまり、ユーザーがフィールドにデータを入力する際に使用できるフォームがあるとします。 そのフォームを Assembler サービスに渡すと、Assembler サービスがPDFドキュメントを返すので、ユーザーはフィールドにデータを入力できません。 このドキュメントは非インタラクティブPDFフォームです。 例えば、次の図に、インタラクティブなフォームを表す住宅ローン申し込みを示します。
この説明では、次の DDX ドキュメントが使用されていると仮定します。
<?xml version="1.0" encoding="UTF-8"?>
<DDX xmlns="https://ns.adobe.com/DDX/1.0/">
<PDF result="out.pdf">
<PDF source="inDoc"/>
<NoXFA/>
</PDF>
</DDX>
この DDX ドキュメント内では、 source 属性に値が割り当てられています inDoc
. 1 つの入力PDFドキュメントのみが Assembler サービスに渡され、1 つのPDFドキュメントが返された場合、 invokeOneDocument
操作、値の割り当て inDoc
をPDFソース属性に追加します。 を呼び出すとき invokeOneDocument
操作 inDoc
値は、DDX ドキュメントで指定する必要がある事前定義済みのキーです。
これに対し、2 つ以上の入力PDFドキュメントを Assembler サービスに渡す場合は、 invokeDDX
操作。 この場合、 source
属性。
この DDX ドキュメントには、 NoXFA
要素:非インタラクティブなインタラクティブなドキュメントを返すよう Assembler サービスにPDFします。
Assembler サービスは、入力PDFドキュメントがAcrobatフォームまたは静的 XFA フォームに基づいている場合、AEM formsPDFに Output サービスを含めずに、非インタラクティブインストールドキュメントをアセンブリできます。 ただし、入力PDFドキュメントが動的な XFA フォームの場合、Output サービスはAEM forms インストール環境の一部である必要があります。 動的 XFA フォームのアセンブリ時にAEM forms インストールの一部として Output サービスを実行しない場合は、例外が発生します。 詳しくは、 ドキュメント出力ストリームの作成.
この節を読む前に、Assembler サービスを使用したPDFドキュメントの組み立てに関する知識を身に付けておくことをお勧めします。 このセクションでは、入力ドキュメントを含むコレクションオブジェクトの作成や、返されたコレクションオブジェクトから結果を抽出する方法の学習など、概念については説明しません。 ( プログラムによるPDF文書の作成.)
Assembler サービスについて詳しくは、 AEM Formsのサービスリファレンス.
DDX ドキュメントについて詳しくは、 Assembler サービスと DDX リファレンス.
非インタラクティブPDF・ドキュメントをアセンブリするには、次のタスクを実行します。
プロジェクトファイルを含める
必要なファイルを開発プロジェクトに含めます。 Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。 Web サービスを使用している場合は、プロキシファイルを必ず含めてください。
次の JAR ファイルをプロジェクトのクラスパスに追加する必要があります。
AEM Formsが JBoss 以外のサポート対象の J2EE アプリケーションサーバーにデプロイされている場合は、adobe-utilities.jar ファイルと jbossall-client.jar ファイルを、AEM Formsがデプロイされている J2EE アプリケーションサーバーに固有の JAR ファイルに置き換える必要があります。
Assembler クライアントの作成
Assembler 操作をプログラムで実行する前に、Assembler サービスクライアントを作成する必要があります。
既存の DDX ドキュメントの参照
DDX ドキュメントを参照して、アセンブリドキュメントをPDFする必要があります。 この DDX ドキュメントには NoXFA
要素:非インタラクティブなインタラクティブなドキュメントを返すよう Assembler サービスにPDFします。
インタラクティブPDFドキュメントの参照
インタラクティブPDFドキュメントを参照して Assembler サービスに渡し、非インタラクティブPDFドキュメントに戻す必要があります。
実行時オプションを設定
ジョブの実行中に Assembler サービスの動作を制御する実行時オプションを設定できます。 例えば、エラーが発生した場合にジョブの処理を続行するよう Assembler サービスに指示するオプションを設定できます。
アセンブリPDF
Assembler サービスクライアントを作成し、DDX ドキュメントを参照し、インタラクティブPDFドキュメントを参照し、実行時オプションを設定したら、 invokeOneDocument
操作。 Assembler サービスに渡される入力PDFドキュメントは 1 つだけで、1 つのドキュメントが返されるので、 invokeOneDocument
対して invokeDDX
操作。
非インタラクティブPDFドキュメントを保存
Assembler サービスに 1 つのPDFドキュメントのみが渡された場合、Assembler サービスはコレクションオブジェクトではなく 1 つのドキュメントを返します。 つまり、 invokeOneDocument
を指定すると、1 つのドキュメントが返されます。 この節で参照される DDX ドキュメントには、非インタラクティブPDFドキュメントを作成する手順が含まれているので、Assembler サービスは、PDFファイルとして保存できる非インタラクティブPDFドキュメントを返します。
関連トピック
Assembler Service API(Java) を使用して、非インタラクティブPDFドキュメントをアセンブリします。
プロジェクトファイルを含めます。
Java プロジェクトのクラスパスに、adobe-assembler-client.jar などのクライアント JAR ファイルを含めます。
Assembler クライアントを作成します。
ServiceClientFactory
オブジェクトを作成します。AssemblerServiceClient
オブジェクトのコンストラクタを使用し、 ServiceClientFactory
オブジェクト。既存の DDX ドキュメントを参照します。
java.io.FileInputStream
コンストラクターを使用して DDX ファイルの場所を指定する string 値を渡すことによって DDX ドキュメントを表すオブジェクト。com.adobe.idp.Document
オブジェクトを渡すことによって、java.io.FileInputStream
オブジェクトを作成します。インタラクティブPDFドキュメントを参照します。
java.io.FileInputStream
オブジェクトのコンストラクタを使用し、インタラクティブPDFドキュメントの場所を渡す。com.adobe.idp.Document
オブジェクトを選択し、 java.io.FileInputStream
オブジェクトドキュメントを含むPDF。 この com.adobe.idp.Document
オブジェクトが invokeOneDocument
メソッド。実行時オプションを設定します。
AssemblerOptionSpec
コンストラクタを使用して実行時オプションを格納するオブジェクト。AssemblerOptionSpec
オブジェクト。 例えば、エラーが発生したときにジョブの処理を続行するように Assembler サービスに指示するには、 AssemblerOptionSpec
オブジェクトの setFailOnError
メソッドとパス false
.PDF文書を組み立てる。
を呼び出す AssemblerServiceClient
オブジェクトの invokeOneDocument
メソッドを使用して、次の値を渡します。
com.adobe.idp.Document
DDX ドキュメントを表すオブジェクト。 この DDX ドキュメントに値が含まれていることを確認してください inDoc
(PDFソース要素用 )com.adobe.idp.Document
インタラクティブPDFドキュメントを格納するオブジェクト。com.adobe.livecycle.assembler.client.AssemblerOptionSpec
デフォルトのフォントやジョブログレベルを含む、実行時のオプションを指定するオブジェクト。この invokeOneDocument
メソッドは、 com.adobe.idp.Document
非インタラクティブPDFドキュメントを含むオブジェクト。
非インタラクティブPDFドキュメントを保存します。
java.io.File
オブジェクトにマッピングされ、ファイル名の拡張子が.pdf であることを確認します。Document
オブジェクトの copyToFile
メソッドを使用して、 Document
オブジェクトをファイルに追加します。 必ず Document
オブジェクト invokeOneDocument
メソッドが返されました。Assembler Service API(Web サービス)を使用して、非インタラクティブPDFドキュメントをアセンブリします。
プロジェクトファイルを含めます。
MTOM を使用するMicrosoft .NET プロジェクトを作成します。 次の WSDL 定義を使用していることを確認します。 http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1
.
置換 localhost
を、AEM Formsをホストするサーバーの IP アドレスに設定します。
Assembler クライアントを作成します。
の作成 AssemblerServiceClient
オブジェクトのデフォルトのコンストラクタを使用します。
の作成 AssemblerServiceClient.Endpoint.Address
オブジェクトを System.ServiceModel.EndpointAddress
コンストラクタ。 WSDL をAEM Formsサービスに渡す文字列値 ( 例: http://localhost:8080/soap/services/AssemblerService?blob=mtom
) をクリックします。 を使用する必要はありません。 lc_version
属性。 この属性は、サービス参照を作成する際に使用されます。
の作成 System.ServiceModel.BasicHttpBinding
オブジェクトを作成するには、 AssemblerServiceClient.Endpoint.Binding
フィールドに入力します。 戻り値を BasicHttpBinding
にキャストします。
を System.ServiceModel.BasicHttpBinding
オブジェクトの MessageEncoding
~に向かって WSMessageEncoding.Mtom
. この値は、MTOM が確実に使用されるようにします。
次のタスクを実行して、基本的な HTTP 認証を有効にします。
AssemblerServiceClient.ClientCredentials.UserName.UserName
.AssemblerServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
フィールドに BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
フィールドに BasicHttpBindingSecurity.Security.Mode
.既存の DDX ドキュメントを参照します。
BLOB
オブジェクトを作成します。この BLOB
オブジェクトは、DDX ドキュメントを保存するために使用されます。System.IO.FileStream
オブジェクトを作成するには、コンストラクターを呼び出し、DDX ドキュメントのファイルの場所とファイルを開くモードを表す string 値を渡します。System.IO.FileStream
オブジェクト。 バイト配列のサイズは、 System.IO.FileStream
オブジェクトの Length
プロパティ。System.IO.FileStream
オブジェクトの Read
メソッド。 読み取るバイト配列、開始位置、ストリーム長を渡します。BLOB
オブジェクトを割り当てる MTOM
フィールドにバイト配列の内容を入力します。インタラクティブPDFドキュメントを参照します。
BLOB
オブジェクトを作成します。この BLOB
オブジェクトは、入力PDF・ドキュメントを格納するために使用します。 この BLOB
オブジェクトが invokeOneDocument
を引数として。System.IO.FileStream
オブジェクトを指定します。System.IO.FileStream
オブジェクト。 バイト配列のサイズは、 System.IO.FileStream
オブジェクトの Length
プロパティ。System.IO.FileStream
オブジェクトの Read
メソッド。 読み取るバイト配列、開始位置、ストリーム長を渡します。BLOB
オブジェクトを割り当てる MTOM
フィールドにバイト配列の内容を入力します。実行時オプションを設定します。
AssemblerOptionSpec
コンストラクタを使用して実行時オプションを格納するオブジェクト。AssemblerOptionSpec
オブジェクト。 例えば、エラーが発生した場合にジョブの処理を続行するように Assembler サービスに指示するには、 false
から AssemblerOptionSpec
オブジェクトの failOnError
データメンバー。PDF文書を組み立てる。
を呼び出す AssemblerServiceClient
オブジェクトの invokeOneDocument
メソッドを使用して、次の値を渡します。
BLOB
DDX ドキュメントを表すオブジェクトBLOB
インタラクティブPDF文書を表すオブジェクトAssemblerOptionSpec
実行時のオプションを指定するオブジェクトこの invokeOneDocument
メソッドは、 BLOB
非インタラクティブPDFドキュメントを含むオブジェクト。
非インタラクティブPDFドキュメントを保存します。
System.IO.FileStream
オブジェクトを開くには、コンストラクタを呼び出し、非インタラクティブPDFドキュメントのファイルの場所と、ファイルを開くモードを表す string 値を渡します。BLOB
オブジェクト invokeOneDocument
メソッドが返されました。 バイト配列を生成するには、 BLOB
オブジェクトの MTOM
フィールドに入力します。System.IO.BinaryWriter
オブジェクトのコンストラクタを呼び出し、 System.IO.FileStream
オブジェクト。System.IO.BinaryWriter
オブジェクトの Write
メソッドを使用してバイト配列を渡す。関連トピック