PDFからPostscriptおよび画像ファイルへの変換

このドキュメントのサンプルと例は、JEE上のAEM Forms環境に限られています。

Convert PDFサービスについて

Convert PDFサービスは、PDFドキュメントをPostScriptおよび様々な画像形式(JPEG、JPEG 2000、PNGおよびTIFF)に変換します。 PDF ドキュメントの PostScript への変換は、PostScript プリンターでの無人のサーバーベース印刷に便利です。PDF ドキュメントをサポートしていないコンテンツ管理システムでドキュメントをアーカイブする場合、PDF ドキュメントをマルチページ TIFF ファイルに変換する方法が実用的です。

Convert PDFサービスを使用して、次のタスクを実行できます。

  • PDF ドキュメントを PostScript に変換します。
  • PDFドキュメントを画像形式に変換します。
メモ

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

PDFドキュメントのPostScriptへの変換

このトピックでは、Convert PDFサービスAPI(JavaおよびWebサービス)を使用して、PDFドキュメントをPostScriptファイルにプログラムで変換する方法について説明します。 PostScriptファイルに変換するPDFドキュメントは、非インタラクティブPDFドキュメントである必要があります。 つまり、インタラクティブPDFドキュメントをPostScriptファイルに変換しようとすると、例外が発生します。

メモ

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

手順の概要

PDFドキュメントをPostScriptファイルに変換するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. Convert PDFサービスクライアントを作成します。
  3. PostScriptファイルに変換するPDFドキュメントを参照します。
  4. 変換実行時オプションを設定します。
  5. PDFドキュメントをPostScriptファイルに変換します。
  6. PostScriptファイルを保存します。

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

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

Convert PDFクライアントの作成

プログラムによってConvert PDFサービスの操作を実行する前に、Convert PDFサービスクライアントを作成する必要があります。 Java APIを使用している場合は、ConvertPdfServiceClientオブジェクトを作成します。 WebサービスAPIを使用している場合は、ConvertPDFServiceServiceオブジェクトを作成します。

この節では、AEM Formsで導入されたWebサービス機能を使用します。 新しい機能にアクセスするには、lc_version属性を使用してプロキシオブジェクトを作成する必要があります。 (Webサービスを使用したAEM Formsの呼び出しの「Webサービスを使用した新しい機能へのアクセス」を参照)。

PostScriptファイルに変換するPDFドキュメントを参照します

PostScriptファイルに変換するPDFドキュメントを参照します。 このトピックで前述したように、PDFドキュメントは非インタラクティブPDFドキュメントである必要があります。 インタラクティブPDFドキュメントをPostScriptファイルに変換しようとすると、例外が発生します。

変換実行時オプションの設定

PDFドキュメントをPostScriptファイルに変換する際に、作成されるPostScriptタイプを指定する実行時オプションを定義できます。 例えば、レベル3のPostScriptファイルを定義できます。

通常、生成されるPostScriptファイルは、入力PDFドキュメントのサイズを反映します。 ShrinkToFitオプション(ページに合わせてPostScriptファイルの出力を縮小)を選択した場合、入力PDFドキュメントと生成されるPostScriptファイルの間に違いはありません。 ShrinkToFitオプションは、入力PDFドキュメントよりも小さいページサイズで印刷することを選択した場合にのみ有効になります。 小さいページサイズを選択するには、PageSizeオプションを定義します。 また、正しいPostScript出力を取得するには、 RotateAndCenterオプションをtrueに設定することをお勧めします。

同様に、ExpandToFitオプション(PostScriptファイルの出力をページに合わせて拡大)を選択した場合、入力PDFドキュメントよりも大きいページサイズで印刷することを選択した場合にのみ有効になります。 より大きいページサイズを選択するには、PageSizeオプションを定義します。 また、正しいPostScript出力を取得するには、 RotateAndCenterオプションをtrueに設定することをお勧めします。

メモ

設定できる実行時の値について詳しくは、『AEM Forms APIリファレンス』のToPSOptionsSpecクラス参照を参照してください。

PDFドキュメントをPostScriptファイルに変換する

サービスクライアントを作成し、実行時オプションを設定した後、 PostScript変換操作を呼び出すことができます。 この操作では、変換するドキュメントに関する情報(ターゲットドキュメントに適したPostScriptレベルなど)が必要です。

PostScriptファイルを保存します。

PDFドキュメントをPostScriptに変換した後、出力をPostScriptファイルとして保存できます。

関連トピック

Java APIを使用したPDFドキュメントのPSへの変換

WebサービスAPIを使用したPDFドキュメントのPSへの変換

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

接続プロパティの設定

Convert PDFサービスAPIクイックスタート

Java APIを使用してPDFドキュメントをPSに変換します

Convert PDFサービスAPI(Java)を使用してPDFドキュメントをPostScriptに変換します。

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

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

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

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクタを使用して ConvertPdfServiceClient オブジェクトを渡すことによって、ServiceClientFactory オブジェクトを作成します。
  3. PostScriptファイルに変換するPDFドキュメントを参照します。

    • コンストラクターを使用してjava.io.FileInputStreamオブジェクトを作成し、変換するPDFドキュメントの場所を指定する文字列値を渡します。
    • com.adobe.idp.Documentコンストラクターを使用して、PDFドキュメントを格納するcom.adobe.idp.Documentオブジェクトを作成します。 PDFドキュメントを含むjava.io.FileInputStreamオブジェクトを渡します。
  4. 変換実行時オプションを設定します。

    • コンストラクターを呼び出して、ToPSOptionsSpecオブジェクトを作成します。
    • ToPSOptionsSpecオブジェクトに属する適切なメソッドを呼び出して、実行時オプションを設定します。 例えば、作成するPostScriptレベルを定義するには、ToPSOptionsSpecオブジェクトのsetPsLevelメソッドを呼び出し、PostScriptレベルを指定するPSLevel列挙値を渡します。 設定できるすべての実行時値について詳しくは、『AEM Forms APIリファレンス』のToPSOptionsSpecクラス参照を参照してください。
  5. PDFドキュメントをPostScriptファイルに変換します。

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

    • PostScriptファイルに変換するPDFドキュメントを表すcom.adobe.idp.Documentオブジェクト。
    • PostScriptの実行時オプションを指定するToPSOptionsSpecオブジェクト。

    toPS2メソッドは、新しいPostScriptドキュメントを含むDocumentオブジェクトを返します。

  6. PostScriptファイルを保存します。

    • java.io.Fileオブジェクトを作成し、ファイル名拡張子が.psであることを確認します。
    • DocumentオブジェクトのcopyToFileメソッドを呼び出して、Documentオブジェクトの内容をファイルにコピーします(toPS2メソッドで返されたDocumentオブジェクトを使用するようにしてください)。

関連トピック

手順の概要

クイックスタート(SOAPモード):Java APIを使用したPDFドキュメントのPostScriptへの変換

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

接続プロパティの設定

WebサービスAPIを使用してPDFドキュメントをPSに変換する

Convert PDFサービスAPI(Webサービス)を使用してPDFドキュメントをPostScriptに変換します。

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

    MTOMを使用するMicrosoft .NETプロジェクトを作成します。 次のWSDL定義を使用していることを確認します。http://localhost:8080/soap/services/ConvertPDFService?WSDL&lc_version=9.0.1.

    メモ

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

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

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

    • System.ServiceModel.EndpointAddressコンストラクターを使用してConvertPdfServiceClient.Endpoint.Addressオブジェクトを作成します。 WSDLをAEM Formsサービスに渡す文字列値(例:http://localhost:8080/soap/services/ConvertPDFService?blob=mtom)を渡します。 lc_version属性を使用する必要はありません。 ただし、?blob=mtomと指定します。

    • ConvertPdfServiceClient.Endpoint.Bindingフィールドの値を取得してSystem.ServiceModel.BasicHttpBindingオブジェクトを作成します。 戻り値を BasicHttpBinding にキャストします。

    • System.ServiceModel.BasicHttpBindingオブジェクトのMessageEncodingフィールドをWSMessageEncoding.Mtomに設定します。 この値は、MTOMが使用されるようにします。

    • 次のタスクを実行して、基本的なHTTP認証を有効にします。

      • フィールドConvertPdfServiceClient.ClientCredentials.UserName.UserNameにAEM formsユーザー名を割り当てます。
      • 対応するパスワード値をフィールドConvertPdfServiceClient.ClientCredentials.UserName.Passwordに割り当てます。
      • フィールドBasicHttpBindingSecurity.Transport.ClientCredentialTypeに定数値HttpClientCredentialType.Basicを割り当てます。
      • フィールドBasicHttpBindingSecurity.Security.Modeに定数値BasicHttpSecurityMode.TransportCredentialOnlyを割り当てます。
  3. PostScriptファイルに変換するPDFドキュメントを参照します。

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

    • コンストラクターを呼び出して、ToPSOptionsSpecオブジェクトを作成します。
    • ToPSOptionsSpecオブジェクトのデータメンバーに値を割り当てて、実行時オプションを設定します。 例えば、作成するPostScriptレベルを定義するには、 ToPSOptionsSpecオブジェクトのpsLevelデータメンバーにPSLevel列挙値を割り当てます。
  5. PDFドキュメントをPostScriptファイルに変換します。

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

    • PostScriptファイルに変換するPDFドキュメントを表すBLOBオブジェクト
    • 実行時オプションを指定するToPSOptionsSpecオブジェクト

    変換が完了したら、 BLOBオブジェクトのMTOMプロパティにアクセスして、PostScriptドキュメントを表すバイナリデータを抽出します。 PostScriptファイルに書き出し可能なバイト配列を返します。

  6. PostScriptファイルを保存します。

    • コンストラクターを呼び出して、System.IO.FileStreamオブジェクトを作成します。 PSファイルのファイル位置を表すstring値を渡します。
    • encryptPDFUsingPasswordメソッドで返されたBLOBオブジェクトのデータ内容を格納するバイト配列を作成します。 BLOBオブジェクトのMTOMフィールドの値を取得して、バイト配列を設定します。
    • コンストラクターを呼び出し、System.IO.FileStreamオブジェクトを渡して、System.IO.BinaryWriterオブジェクトを作成します。
    • System.IO.BinaryWriterオブジェクトのWriteメソッドを呼び出し、バイト配列を渡すことで、バイト配列の内容をPostScriptファイルに書き込みます。

関連トピック

手順の概要

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

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

PDFドキュメントの画像形式への変換

Convert PDFサービスを使用すると、PDFドキュメントをJPEG、JPEG 2000、TIFF、PNGなどの画像形式にプログラムで変換できます。 PDFドキュメントを画像ファイルに変換すると、そのPDFドキュメントを画像ファイルとして使用できます。 例えば、ストレージ用のエンタープライズコンテンツ管理システムにイメージを配置できます。

PDFドキュメントを画像に変換する場合、Convert PDFサービスはドキュメントの各ページに個別の画像を作成します。 ドキュメントのページ数が20ページの場合、Convert PDFサービスは20個の画像ファイルを作成します。 PDFドキュメントを画像形式に変換する場合、PDFドキュメント内の各ページに対して個別の画像を作成するか、PDFドキュメント全体に対して単一の画像ファイルを作成できます。

メモ

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

手順の概要

PDFドキュメントをサポートされているいずれかのタイプに変換するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. Convert PDFサービスクライアントを作成します。
  3. 変換するPDFドキュメントを取得します。
  4. 実行時オプションを設定します。
  5. PDFを画像に変換します。
  6. コレクションから画像ファイルを取得します。

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

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

Convert PDFクライアントの作成

プログラムによってConvert PDFサービスの操作を実行する前に、Convert PDFサービスクライアントを作成する必要があります。 Java APIを使用している場合は、ConvertPdfServiceClientオブジェクトを作成します。 WebサービスAPIを使用している場合は、ConvertPDFServiceServiceオブジェクトを作成します。

変換するPDFドキュメントを取得する

画像に変換するPDFドキュメントを取得する必要があります。 インタラクティブPDFドキュメントを画像に変換することはできません。 その場合は、例外が発生します。 インタラクティブPDFドキュメントを画像ファイルに変換するには、変換する前にPDFドキュメントを統合する必要があります。 (PDFドキュメントの統合を参照)。

実行時オプションの設定

画像形式や解像度の値など、実行時オプションを設定する必要があります。 ランタイム値について詳しくは、『AEM Forms APIリファレンス』のToImageOptionsSpecクラス参照を参照してください。

PDFを画像に変換

サービスクライアントを作成し、ランタイムオプションを設定した後、PDFドキュメントを画像に変換できます。 画像を含むコレクションオブジェクトが返されます。

コレクションからの画像ファイルの取得

Convert PDFサービスが返すコレクションオブジェクトから画像ファイルを取得できます。 コレクション内の各要素は、 com.adobe.idp.Documentインスタンス(Webサービスを使用している場合はBLOBインスタンス)で、JPGファイルなどの画像ファイルとして保存できます。

画像ファイルの形式は、ImageConvertFormat実行時オプションによって異なります。 つまり、ImageConvertFormat実行時オプションをImageConvertFormat.JPEGに設定した場合、画像ファイルをJPGファイルとして保存できます。

関連トピック

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

接続プロパティの設定

Convert PDFサービスAPIクイックスタート

Java APIを使用してPDFドキュメントを画像ファイルに変換します

Convert PDFサービスAPI(Java)を使用してPDFドキュメントを画像形式に変換します。

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

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

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

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクタを使用して ConvertPdfServiceClient オブジェクトを渡すことによって、ServiceClientFactory オブジェクトを作成します。
  3. 変換するPDFドキュメントを取得します。

    • 変換するPDFドキュメントを表すjava.io.FileInputStreamオブジェクトを作成します。その際、コンストラクターを使用し、PDFドキュメントの場所を指定するstring値を渡します。
    • コンストラクタを使用して com.adobe.idp.Document オブジェクトを渡すことによって、java.io.FileInputStream オブジェクトを作成します。
  4. 実行時オプションを設定します。

    • コンストラクタを使用して ToImageOptionsSpec オブジェクトを作成します。
    • 必要に応じて、このオブジェクトに属するメソッドを呼び出します。 例えば、 setImageConvertFormatメソッドを呼び出し、形式タイプを指定するImageConvertFormat列挙値を渡すことで、画像タイプを設定します。
    メモ

    ImageConvertFormat列挙値の設定は必須です。

  5. PDFを画像に変換します。

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

    • 変換するPDFファイルを表すcom.adobe.idp.Documentオブジェクト。
    • ターゲット画像形式に関する様々な環境設定を含むcom.adobe.livecycle.converpdfservice.client.ToImageOptionsSpecオブジェクト。

    toImage2メソッドは、画像を含むjava.util.Listオブジェクトを返します。 コレクション内の各要素はcom.adobe.idp.Documentインスタンスです。

  6. コレクションから画像ファイルを取得します。

    java.util.Listオブジェクトを繰り返し処理して、画像が存在するかどうかを判断します。 各要素はcom.adobe.idp.Documentインスタンスです。 com.adobe.idp.DocumentオブジェクトのcopyToFileメソッドを呼び出してjava.io.Fileオブジェクトを渡すことで、画像を保存します。

関連トピック

クイックスタート(SOAPモード):Java APIを使用したPDFドキュメントのJPEGファイルへの変換

WebサービスAPIを使用してPDFドキュメントを画像ファイルに変換する

Convert PDFサービスAPI(Webサービス)を使用してPDFドキュメントを画像形式に変換します。

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

    MTOMを使用するMicrosoft .NETプロジェクトを作成します。 次のWSDL定義を使用していることを確認します。http://localhost:8080/soap/services/ConvertPDFService?WSDL&lc_version=9.0.1.

    メモ

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

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

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

    • System.ServiceModel.EndpointAddressコンストラクターを使用してConvertPdfServiceClient.Endpoint.Addressオブジェクトを作成します。 WSDLをAEM Formsサービスに渡す文字列値(例:http://localhost:8080/soap/services/ConvertPDFService?blob=mtom)を渡します。 lc_version属性を使用する必要はありません。 ただし、?blob=mtomと指定します。

    • ConvertPdfServiceClient.Endpoint.Bindingフィールドの値を取得してSystem.ServiceModel.BasicHttpBindingオブジェクトを作成します。 戻り値を BasicHttpBinding にキャストします。

    • System.ServiceModel.BasicHttpBindingオブジェクトのMessageEncodingフィールドをWSMessageEncoding.Mtomに設定します。 この値は、MTOMが使用されるようにします。

    • 次のタスクを実行して、基本的なHTTP認証を有効にします。

      • フィールドConvertPdfServiceClient.ClientCredentials.UserName.UserNameにAEM formsユーザー名を割り当てます。
      • 対応するパスワード値をフィールドConvertPdfServiceClient.ClientCredentials.UserName.Passwordに割り当てます。
      • フィールドBasicHttpBindingSecurity.Transport.ClientCredentialTypeに定数値HttpClientCredentialType.Basicを割り当てます。
      • フィールドBasicHttpBindingSecurity.Security.Modeに定数値BasicHttpSecurityMode.TransportCredentialOnlyを割り当てます。
  3. 変換するPDFドキュメントを取得します。

    • コンストラクタを使用して BLOB オブジェクトを作成します。このBLOBオブジェクトは、PDFフォームの保存に使用されます。
    • コンストラクターを呼び出して、System.IO.FileStreamオブジェクトを作成します。 PDFフォームの場所とファイルを開くモードを指定するstring値を渡します。
    • System.IO.FileStreamオブジェクトの内容を格納するバイト配列を作成します。 System.IO.FileStreamオブジェクトのLengthプロパティを取得して、バイト配列のサイズを決定します。
    • System.IO.FileStreamオブジェクトのReadメソッドを呼び出して、バイト配列にストリームデータを入力します。 読み取るバイト配列、開始位置、ストリーム長を渡します。
    • BLOBオブジェクトのMTOMフィールドにバイト配列の内容を割り当てて、オブジェクトを設定します。
  4. 実行時オプションを設定します。

    • コンストラクタを使用して ToImageOptionsSpec オブジェクトを作成します。
    • 必要に応じて、このオブジェクトに属するメソッドを呼び出します。 例えば、 setImageConvertFormatメソッドを呼び出し、形式タイプを指定するImageConvertFormat列挙値を渡すことで、画像タイプを設定します。
    メモ

    ImageConvertFormat列挙値の設定は必須です。

  5. PDFを画像に変換します。

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

    • 変換するファイルを表すBLOBオブジェクト
    • ターゲット画像形式に関する様々な環境設定を含むToImageOptionsSpecオブジェクト

    toImage2メソッドは、新しく作成された画像ファイルを含むMyArrayOfBLOBオブジェクトを返します。

  6. コレクションから画像ファイルを取得します。

    • Countフィールドの値を取得して、MyArrayOfBLOBオブジェクト内の要素数を決定します。 各要素は、画像を含むBLOBオブジェクトです。
    • MyArrayOfBLOBオブジェクトを繰り返し処理し、各イメージファイルを保存します。

関連トピック

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

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

このページ