PDFPortfolioのアセンブリ

Assembler JavaおよびWebサービスAPIを使用してPDFPortfolioをアセンブリできます。 ポートフォリオは、wordファイル、画像ファイル(例えば、jpegファイル)、PDFドキュメントなど、様々なタイプの複数のドキュメントを組み合わせることができます。 ポートフォリオのレイアウトは、プレビュー付きグリッド画像上、さらには​回転​など、異なるスタイルに設定できます。

次の図は、画像​スタイルレイアウトのポートフォリオのスクリーンショットです。

ap_ap_portfolio

PDFPortfolioを作成すると、ドキュメントのコレクションを渡す代わりに、ペーパーレスで作成できます。 AEM Formsを使用して、構造化DDXドキュメントでAssemblerサービスを呼び出すことで、ポートフォリオを作成できます。 次のDDXドキュメントは、PDFドキュメントを作成するDDXドキュメントの例です。Portfolio

 <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ドキュメントには、入れ子になったNavigatorタグを含むPortfolioタグが必要です。 タグ<Resource name="navigator/image.xxx" source="myImage.png"/>は、 myNavigatorがonImageレイアウトナビゲーターとして割り当てられている場合にのみ必要です。AdobeOnImage.nav. このタグを使用すると、Assemblerサービスは、ポートフォリオの背景として使用する画像を選択できます。 PackageFilesタグとFileタグを含めて、パッケージファイルのファイル名とMIMEタイプを定義します。

メモ

Assemblerサービスについて詳しくは、『AEM Forms🔗向けサービスリファレンス』を参照してください。

メモ

DDXドキュメントについて詳しくは、『AssemblerサービスとDDXリファレンス』を参照してください。

手順の概要

PDFタスクを作成するには、次のPortfolioを実行します。

  1. プロジェクトファイルを含めます。
  2. PDFアセンブラークライアントを作成します。
  3. 既存のDDXドキュメントの参照
  4. 必要なドキュメントを参照します。
  5. 実行時オプションを設定します。
  6. ポートフォリオを組み立てます。
  7. 組み立てたポートフォリオを保存します。

プロジェクトファイルを含める

必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用する場合は、プロキシファイルを必ず含めてください。

次のJARファイルをプロジェクトのクラスパスに追加する必要があります。

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-assembler-client.jar
  • adobe-utilities.jar(AEM FormsをJBossにデプロイする場合に必要)
  • jbossall-client.jar(AEM FormsをJBossにデプロイする場合に必要)

PDFアセンブラークライアントの作成

プログラムでAssembler操作を実行する前に、Assemblerサービスクライアントを作成します。

既存のDDXドキュメントの参照

PDFドキュメントをアセンブリするには、DDXドキュメントを参照する必要があります。Portfolio このDDXドキュメントには、 PortfolioNavigatorおよびPackageFilesの各要素が含まれている必要があります。

必要なドキュメントの参照

PDFアセンブリをアセンブリするには、Portfolioするドキュメントを表すすべてのファイルを参照します。 例えば、DDXドキュメントで指定されているすべての画像ファイルをAssemblerサービスに渡します。 これらのファイルは、この節で指定するDDXドキュメントで参照されています。myImage.png​と​saint_bernard.jpg

PDFPortfolioをアセンブリする際に、NAVファイル(ナビゲーターファイル)をAssemblerサービスに渡します。 Assemblerサービスに渡すNAVファイルは、作成するPDFPortfolioの種類に応じて異なります。 例えば、画像​レイアウトを作成するには、AdobeOnImage.navファイルを渡します。 NAVファイルは、次のフォルダーにあります。

<Install folder>\Acrobat 9.0\Acrobat\Navigators

NAVファイルをAcrobat 9(またはそれ以降)のインストールディレクトリからコピーします。 NAVファイルを、クライアントアプリケーションがアクセスできる場所に配置します。 すべてのファイルは、Mapコレクションオブジェクト内でAssemblerサービスに渡されます。

メモ

PDFイメージのアセンブリに関連するクイックスタートでは、AdobeOnImage.navをPortfolioします。

実行時オプションの設定

ジョブの実行中にAssemblerサービスの動作を制御する実行時オプションを設定できます。 例えば、エラーが発生した場合にジョブの処理を続行するようAssemblerサービスに指示するオプションを設定できます。

ポートフォリオの構成

PDFPortfolioをアセンブリするには、invokeDDX操作を呼び出します。 Assemblerサービスは、コレクションオブジェクト内のPDFPortfolioを返します。

組み立てたポートフォリオを保存

PDFPortfolioがコレクションオブジェクト内で返されます。 コレクションオブジェクトを繰り返し処理し、PDFPortfolioをPDFファイルとして保存します。

関連トピック

Java APIを使用したPDFPortfolioのアセンブリ

WebサービスAPIを使用したPDFPortfolioのアセンブリ

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

PDFドキュメントのプログラムによるアセンブリ

Java APIを使用したPDFPortfolioのアセンブリ

AssemblerサービスAPI(Java)を使用してPDFPortfolioをアセンブリします。

  1. プロジェクトファイルを含めます。

    Javaプロジェクトのクラスパスに、adobe-assembler-client.jarなどのクライアントJARファイルを含めます。

  2. PDFアセンブラークライアントを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクターを使用してAssemblerServiceClientオブジェクトを渡し、ServiceClientFactoryオブジェクトを作成します。
  3. 既存のDDXドキュメントの参照

    • コンストラクターを使用し、DDXファイルの場所を指定する文字列値を渡して、DDXドキュメントを表すjava.io.FileInputStreamオブジェクトを作成します。
    • コンストラクタを使用して com.adobe.idp.Document オブジェクトを渡すことによって、java.io.FileInputStream オブジェクトを作成します。
  4. 必要なドキュメントを参照します。

    • HashMapコンストラクターを使用して、入力PDFドキュメントの格納に使用するjava.util.Mapオブジェクトを作成します。

    • コンストラクタを使用して java.io.FileInputStream オブジェクトを作成します。必要なNAVファイルの場所を渡します(ポートフォリオの作成に必要な各ファイルに対して、このタスクを繰り返します)。

    • com.adobe.idp.Documentオブジェクトを作成し、NAVファイルを含むjava.io.FileInputStreamオブジェクトを渡します(ポートフォリオの作成に必要な各ファイルに対して、このタスクを繰り返します)。

    • putメソッドを呼び出し、次の引数を渡して、java.util.Mapオブジェクトにエントリを追加します。

      • キー名を表すstring値です。 この値は、DDXドキュメントで指定されたソース要素の値と一致する必要があります。 (ポートフォリオの作成に必要なファイルごとに、このタスクを繰り返します)。
      • PDFドキュメントを含むcom.adobe.idp.Documentオブジェクト。 (ポートフォリオの作成に必要なファイルごとに、このタスクを繰り返します)。
  5. 実行時オプションを設定します。

    • コンストラクターを使用して、実行時オプションを格納するAssemblerOptionSpecオブジェクトを作成します。
    • AssemblerOptionSpecオブジェクトに属するメソッドを呼び出して、ビジネス要件に合った実行時オプションを設定します。 例えば、エラーが発生したときにジョブの処理を続行するようにAssemblerサービスに指示するには、AssemblerOptionSpecオブジェクトのsetFailOnErrorメソッドを呼び出し、falseを渡します。
  6. ポートフォリオを組み立てます。

    AssemblerServiceClientオブジェクトのinvokeDDXメソッドを呼び出し、次の必須値を渡します。

    • 使用するDDXドキュメントを表すcom.adobe.idp.Documentオブジェクト
    • PDFPortfolioの構築に必要なファイルを格納するjava.util.Mapオブジェクト。
    • デフォルトのフォントやジョブのログレベルを含む、ランタイムオプションを指定するcom.adobe.livecycle.assembler.client.AssemblerOptionSpecオブジェクト

    invokeDDXメソッドは、アセンブリされたPDFPortfolioと発生した例外を含むcom.adobe.livecycle.assembler.client.AssemblerResultオブジェクトを返します。

  7. 組み立てたポートフォリオを保存します。

    PDFアクションを取得するには、次のPortfolioを実行します。

    • AssemblerResultオブジェクトのgetDocumentsメソッドを呼び出します。 このメソッドはjava.util.Mapオブジェクトを返します。
    • java.util.Mapオブジェクトを繰り返し処理して、結果のcom.adobe.idp.Documentオブジェクトを見つけます。
    • com.adobe.idp.DocumentオブジェクトのcopyToFileメソッドを呼び出して、PDFPortfolioを抽出します。

関連トピック

クイックスタート(SOAPモード):Java APIを使用したPDFPortfolioのアセンブリ

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

WebサービスAPIを使用したPDFPortfolioのアセンブリ

AssemblerサービスAPI(Webサービス)を使用してPDFPortfolioをアセンブリします。

  1. プロジェクトファイルを含めます。

    MTOMを使用するMicrosoft .NETプロジェクトを作成します。 サービス参照を設定する際は、次のWSDL定義を使用してください。http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.

    メモ

    localhostを、AEM FormsをホストするサーバーのIPアドレスに置き換えます。

  2. PDFアセンブラークライアントを作成します。

    • デフォルトのコンストラクターを使用してAssemblerServiceClientオブジェクトを作成します。

    • System.ServiceModel.EndpointAddressコンストラクターを使用してAssemblerServiceClient.Endpoint.Addressオブジェクトを作成します。 AEM FormsサービスにWSDLを指定する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にAEM formsユーザー名を割り当てます。
      • 対応するパスワード値をフィールドAssemblerServiceClient.ClientCredentials.UserName.Passwordに割り当てます。
      • フィールドBasicHttpBindingSecurity.Transport.ClientCredentialTypeに定数値HttpClientCredentialType.Basicを割り当てます。
      • フィールドBasicHttpBindingSecurity.Security.Modeに定数値BasicHttpSecurityMode.TransportCredentialOnlyを割り当てます。
  3. 既存のDDXドキュメントの参照

    • コンストラクタを使用して BLOB オブジェクトを作成します。BLOBオブジェクトは、DDXドキュメントの格納に使用されます。
    • コンストラクターを呼び出し、DDXドキュメントのファイルの場所とファイルを開くモードを表すstring値を渡して、System.IO.FileStreamオブジェクトを作成します。
    • System.IO.FileStreamオブジェクトの内容を格納するバイト配列を作成します。 System.IO.FileStreamオブジェクトのLengthプロパティを取得することで、バイト配列のサイズを判断できます。
    • System.IO.FileStreamオブジェクトのReadメソッドを呼び出して、バイト配列にストリームデータを入力します。 読み取るバイト配列、開始位置、ストリーム長を渡します。
    • BLOBオブジェクトのMTOMプロパティにバイト配列の内容を割り当てて、オブジェクトを設定します。
  4. 必要なドキュメントを参照します。

    • 各入力ファイルに対して、コンストラクタを使用してBLOBオブジェクトを作成します。 BLOBオブジェクトは、入力ファイルの保存に使用されます。
    • コンストラクターを呼び出し、入力ファイルのファイルの場所とファイルを開くモードを表すstring値を渡して、System.IO.FileStreamオブジェクトを作成します。
    • System.IO.FileStreamオブジェクトの内容を格納するバイト配列を作成します。 System.IO.FileStreamオブジェクトのLengthプロパティを取得することで、バイト配列のサイズを判断できます。
    • System.IO.FileStreamオブジェクトのReadメソッドを呼び出して、バイト配列にストリームデータを入力します。 読み取るバイト配列、開始位置、ストリーム長を渡します。
    • BLOBオブジェクトのMTOMフィールドにバイト配列の内容を割り当てて、オブジェクトを設定します。
    • MyMapOf_xsd_string_To_xsd_anyTypeオブジェクトを作成します。 このコレクションオブジェクトは、PDFコレクションの作成に必要な入力ファイルのPortfolioに使用されます。
    • 入力ファイルごとに、MyMapOf_xsd_string_To_xsd_anyType_Itemオブジェクトを作成します。
    • MyMapOf_xsd_string_To_xsd_anyType_Itemオブジェクトのkeyフィールドに、キー名を表すstring値を割り当てます。 この値は、DDXドキュメントで指定されたエレメントの値と一致する必要があります。 (入力ファイルごとにこのタスクを実行します)。
    • 入力ファイルを格納するBLOBオブジェクトをMyMapOf_xsd_string_To_xsd_anyType_Itemオブジェクトのvalueフィールドに割り当てます。 (このタスクは、入力PDFドキュメントごとに実行します)。
    • MyMapOf_xsd_string_To_xsd_anyType_ItemオブジェクトをMyMapOf_xsd_string_To_xsd_anyTypeオブジェクトに追加します。 MyMapOf_xsd_string_To_xsd_anyTypeオブジェクトのAddメソッドを呼び出して、MyMapOf_xsd_string_To_xsd_anyTypeオブジェクトを渡します。 (このタスクは、入力PDFドキュメントごとに実行します)。
  5. 実行時オプションを設定します。

    • コンストラクターを使用して、実行時オプションを格納するAssemblerOptionSpecオブジェクトを作成します。
    • AssemblerOptionSpecオブジェクトに属するデータメンバーに値を割り当てて、ビジネス要件に合った実行時オプションを設定します。 例えば、エラーが発生したときにジョブの処理を続行するようにAssemblerサービスに指示するには、falseAssemblerOptionSpecオブジェクトのfailOnErrorデータメンバーに割り当てます。
  6. ポートフォリオを組み立てます。

    AssemblerServiceClientオブジェクトのinvokeDDXメソッドを呼び出し、次の値を渡します。

    • DDXドキュメントを表すBLOBオブジェクト
    • 必要なファイルを含むMyMapOf_xsd_string_To_xsd_anyTypeオブジェクト
    • 実行時オプションを指定するAssemblerOptionSpecオブジェクト

    invokeDDXメソッドは、ジョブの結果と発生した例外を含むAssemblerResultオブジェクトを返します。

  7. 組み立てたポートフォリオを保存します。

    新しく作成したPDFPortfolioを取得するには、次の操作を実行します。

    • AssemblerResultオブジェクトのdocumentsフィールド(結果のPDFドキュメントを含むMapオブジェクト)にアクセスします。
    • Mapオブジェクトを繰り返し処理して、各結果ドキュメントを取得します。 次に、配列メンバのvalueBLOBにキャストします。
    • BLOBオブジェクトのMTOMプロパティにアクセスして、PDFドキュメントを表すバイナリデータを抽出します。 PDFファイルに書き出すことができるバイトの配列を返します。

関連トピック

MTOMを使用したAEM Formsの呼び出し

SwaRefを使用したAEM Formsの呼び出し

このページ