このドキュメントのサンプルと例は、JEE環境上のAEM Formsに対してのみ提供されています。
Assembler JavaおよびWebサービスAPIを使用してPDFPortfolioをアセンブリできます。 ポートフォリオは、Wordファイル、画像ファイル(jpegファイルなど)、PDFドキュメントなど、様々な種類のドキュメントを組み合わせることができます。 ポートフォリオのレイアウトは、プレビュー付きグリッド、画像レイアウトまたは回転など、異なるスタイルに設定できます。
次の図は、画像スタイルレイアウトのポートフォリオのスクリーンショットです。
PDFPortfolioを作成すると、ドキュメントの集まりを渡す代わりに、ペーパーレスで行うことができます。 AEM Formsを使用すると、構造化DDXドキュメントを使用してAssemblerサービスを呼び出し、ポートフォリオを作成できます。 次のDDXドキュメントは、PDFPortfolioを作成するDDXドキュメントの例です。
<DDX xmlns="https://ns.adobe.com/DDX/1.0/">
<PDF result="portfolio1.pdf">
<Portfolio>
<Navigator source="myNavigator">
<Resource name="navigator/image.xxx" source="myImage.png"/>
</Navigator>
</Portfolio>
<PackageFiles source="dog1" >
<FieldData name="X">72</FieldData>
<FieldData name="Y">72</FieldData>
<File filename="saint_bernard.jpg" mimetype="image/jpeg"/>
</PackageFiles>
<PackageFiles source="dog2" >
<FieldData name="X">120</FieldData>
<FieldData name="Y">216</FieldData>
<File filename="greyhound.pdf"/>
</PackageFiles>
</PDF>
</DDX>
DXXドキュメントには、Portfolio
タグと入れ子のNavigator
タグが含まれている必要があります。 タグ<Resource name="navigator/image.xxx" source="myImage.png"/>
は、myNavigator
がonImageレイアウトナビゲーターとして割り当てられている場合にのみ必要です。AdobeOnImage.nav
。 このタグを使用すると、Assemblerサービスでポートフォリオの背景として使用する画像を選択できます。 パッケージファイルのファイル名とMIMEタイプを定義するには、PackageFiles
タグとFile
タグを含めます。
Assemblerサービスについて詳しくは、『AEM Formsのサービスリファレンス』を参照してください。
DDXドキュメントについて詳しくは、「Assembler Service and DDX Reference」を参照してください。
PDFPortfolioを作成するには、次のタスクを実行します。
プロジェクトファイルを含める
必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを必ず含めてください。
次のJARファイルをプロジェクトのクラスパスに追加する必要があります。
PDFアセンブラクライアントの作成
プログラムによってAssembler操作を実行する前に、Assemblerサービスクライアントを作成します。
既存のDDXドキュメントの参照
PDFPortfolioをアセンブリするには、DDXドキュメントを参照する必要があります。 このDDXドキュメントには、Portfolio
、Navigator
およびPackageFiles
要素を含める必要があります。
必要なドキュメントの参照
PDFPortfolioをアセンブリするには、アセンブリ対象のドキュメントを表すすべてのファイルを参照します。 例えば、DDXドキュメントで指定されているすべての画像ファイルをAssemblerサービスに渡します。 これらのファイルは、この節で指定するDDXドキュメントで参照されます。myImage.pngとsaint_bernard.jpg
PDFPortfolioのアセンブリ時に、NAVファイル(ナビゲータファイル)をAssemblerサービスに渡します。 Assemblerサービスに渡すNAVファイルは、作成するPDFPortfolioのタイプに応じて異なります。 例えば、On an Imageレイアウトを作成するには、AdobeOnImage.navファイルを渡します。 NAVファイルは次のフォルダーにあります。
<Install folder>\Acrobat 9.0\Acrobat\Navigators
NAVファイルをAcrobat 9(またはそれ以降)のインストールディレクトリからコピーします。 NAVファイルは、クライアントアプリケーションがアクセスできる場所に配置します。 すべてのファイルは、Mapコレクションオブジェクト内でAssemblerサービスに渡されます。
PDFPortfolioのアセンブリに関連付けられているクイック開始では、AdobeOnImage.navを使用します。
実行時オプションの設定
ジョブの実行中にAssemblerサービスの動作を制御する実行時オプションを設定できます。 例えば、エラーが発生した場合にジョブの処理を続行するようAssemblerサービスに指示するオプションを設定できます。
ポートフォリオの編成
PDFPortfolioをアセンブリするには、invokeDDX
操作を呼び出します。 Assemblerサービスは、コレクションオブジェクト内でPDFPortfolioを返します。
組み立てたポートフォリオの保存
コレクションオブジェクト内でPDFPortfolioが返されます。 コレクションオブジェクトを繰り返し処理し、PDFPortfolioをPDFファイルとして保存します。
関連トピック
Java APIを使用したPDFPortfolioのアセンブリ
WebサービスAPIを使用したPDFPortfolioのアセンブリ
Assembler Service API(Java)を使用してPDFPortfolioをアセンブリします。
プロジェクトファイルを含めます。
Javaプロジェクトのクラスパスに、adobe-assembler-client.jarなどのクライアントJARファイルを含めます。
PDFアセンブラクライアントを作成します。
ServiceClientFactory
オブジェクトを作成します。AssemblerServiceClient
オブジェクトを渡して、ServiceClientFactory
オブジェクトを作成します。既存のDDXドキュメントの参照。
java.io.FileInputStream
オブジェクトを作成します。com.adobe.idp.Document
オブジェクトを渡すことによって、java.io.FileInputStream
オブジェクトを作成します。必要なドキュメントを参照します。
HashMap
コンストラクターを使用して、入力PDFドキュメントの格納に使用するjava.util.Map
オブジェクトを作成します。
コンストラクタを使用して java.io.FileInputStream
オブジェクトを作成します。必要なNAVファイルの場所を渡します(ポートフォリオの作成に必要な各ファイルに対してこのタスクを繰り返します)。
com.adobe.idp.Document
オブジェクトを作成し、NAVファイルを含むjava.io.FileInputStream
オブジェクトを渡します(ポートフォリオの作成に必要な各ファイルに対してこのタスクを繰り返します)。
<a0追加/>オブジェクトへのエントリ。そのput
メソッドを呼び出し、次の引数を渡すことによって作成します。java.util.Map
com.adobe.idp.Document
オブジェクトです。 (ポートフォリオの作成に必要なファイルごとに、このタスクを繰り返します)。実行時オプションを設定します。
AssemblerOptionSpec
オブジェクトを作成します。AssemblerOptionSpec
オブジェクトに属するメソッドを呼び出して、ビジネス要件に合うように実行時オプションを設定します。 例えば、エラーが発生した場合にジョブの処理を続行するようにAssemblerサービスに指示するには、AssemblerOptionSpec
オブジェクトのsetFailOnError
メソッドを呼び出し、false
を渡します。ポートフォリオをアセンブルします。
AssemblerServiceClient
オブジェクトのinvokeDDX
メソッドを呼び出し、次の必須値を渡します。
com.adobe.idp.Document
オブジェクトjava.util.Map
オブジェクトです。com.adobe.livecycle.assembler.client.AssemblerOptionSpec
オブジェクトinvokeDDX
メソッドは、アセンブリされたPDFPortfolioと発生した例外を含むcom.adobe.livecycle.assembler.client.AssemblerResult
オブジェクトを返します。
組み立てたポートフォリオを保存します。
PDFPortfolioを取得するには、次の操作を実行します。
AssemblerResult
オブジェクトのgetDocuments
メソッドを呼び出します。 このメソッドは、java.util.Map
オブジェクトを返します。java.util.Map
オブジェクトを繰り返し処理して、結果のcom.adobe.idp.Document
オブジェクトを見つけます。com.adobe.idp.Document
オブジェクトのcopyToFile
メソッドを呼び出してPDFPortfolioを抽出します。関連トピック
クイック開始(SOAPモード):Java APIを使用したPDFPortfolioのアセンブリ
Assembler Service API(Webサービス)を使用してPDFPortfolioをアセンブリします。
プロジェクトファイルを含めます。
MTOMを使用するMicrosoft .NETプロジェクトを作成します。 サービス参照を設定する際は、次のWSDL定義を使用してください。http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1
.
localhost
を、AEM FormsをホストするサーバーのIPアドレスに置き換えます。
PDFアセンブラクライアントを作成します。
AssemblerServiceClient
オブジェクトを作成するには、そのデフォルトのコンストラクタを使用します。
System.ServiceModel.EndpointAddress
コンストラクターを使用してAssemblerServiceClient.Endpoint.Address
オブジェクトを作成します。 WSDLをAEM Formsサービスに指定するstring値を渡します(例:http://localhost:8080/soap/services/AssemblerService?blob=mtom
)。 lc_version
属性を使用する必要はありません。 この属性は、サービス参照を作成する際に使用されます。
AssemblerServiceClient.Endpoint.Binding
フィールドの値を取得してSystem.ServiceModel.BasicHttpBinding
オブジェクトを作成します。 戻り値を 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
オブジェクトを作成します。System.IO.FileStream
オブジェクトの内容を格納するバイト配列を作成します。 System.IO.FileStream
オブジェクトのLength
プロパティを取得して、バイト配列のサイズを決定できます。System.IO.FileStream
オブジェクトのRead
メソッドを呼び出して、バイト配列にストリームデータを入力します。 読み取るバイト配列、開始位置、ストリーム長を渡します。BLOB
オブジェクトにMTOM
プロパティを割り当て、バイト配列の内容を指定します。必要なドキュメントを参照します。
BLOB
オブジェクトを作成します。 BLOB
オブジェクトは、入力ファイルの保存に使用されます。System.IO.FileStream
オブジェクトを作成します。System.IO.FileStream
オブジェクトの内容を格納するバイト配列を作成します。 System.IO.FileStream
オブジェクトのLength
プロパティを取得して、バイト配列のサイズを決定できます。System.IO.FileStream
オブジェクトのRead
メソッドを呼び出して、バイト配列にストリームデータを入力します。 読み取るバイト配列、開始位置、ストリーム長を渡します。BLOB
オブジェクトに、MTOM
フィールドにバイト配列の内容を割り当てて入力します。MyMapOf_xsd_string_To_xsd_anyType
オブジェクトを作成します。 このコレクションオブジェクトは、PDFPortfolioの作成に必要な入力ファイルの格納に使用されます。MyMapOf_xsd_string_To_xsd_anyType_Item
オブジェクトを作成します。MyMapOf_xsd_string_To_xsd_anyType_Item
オブジェクトのkey
フィールドに割り当てます。 この値は、DDXドキュメントで指定された要素の値と一致する必要があります。 (このタスクは、入力ファイルごとに実行します)。BLOB
オブジェクトをMyMapOf_xsd_string_To_xsd_anyType_Item
オブジェクトのvalue
フィールドに割り当てます。 (このタスクは、入力PDFドキュメントごとに実行します)。MyMapOf_xsd_string_To_xsd_anyType
オブジェクトのMyMapOf_xsd_string_To_xsd_anyType_Item
オブジェクト。 MyMapOf_xsd_string_To_xsd_anyType
オブジェクトのAdd
メソッドを呼び出し、MyMapOf_xsd_string_To_xsd_anyType
オブジェクトを渡します。 (このタスクは、入力PDFドキュメントごとに実行します)。実行時オプションを設定します。
AssemblerOptionSpec
オブジェクトを作成します。AssemblerOptionSpec
オブジェクトに属するデータメンバに値を割り当てて、ビジネス要件に合うように実行時オプションを設定します。 例えば、エラーが発生した場合にジョブの処理を続行するようにAssemblerサービスに指示するには、false
をAssemblerOptionSpec
オブジェクトのfailOnError
データメンバーに割り当てます。ポートフォリオをアセンブルします。
AssemblerServiceClient
オブジェクトのinvokeDDX
メソッドを呼び出し、次の値を渡します。
BLOB
オブジェクトMyMapOf_xsd_string_To_xsd_anyType
オブジェクトAssemblerOptionSpec
オブジェクトinvokeDDX
メソッドは、ジョブの結果と発生した例外を含むAssemblerResult
オブジェクトを返します。
組み立てたポートフォリオを保存します。
新しく作成されたPDFPortfolioを取得するには、次の操作を実行します。
AssemblerResult
オブジェクトのdocuments
フィールドにアクセスします。これは、結果のPDFドキュメントを含むMap
オブジェクトです。Map
オブジェクトを繰り返し処理して、各結果ドキュメントを取得します。 次に、その配列メンバーのvalue
をBLOB
にキャストします。BLOB
オブジェクトのMTOM
プロパティにアクセスして、PDFドキュメントを表すバイナリデータを抽出します。 PDFファイルに書き出すことができるバイトの配列を返します。関連トピック