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 Service API(JavaおよびWebサービス)を使用して、PDFドキュメントをPostScriptファイルにプログラム的に変換する方法について説明します。 PostScriptファイルに変換されるPDFドキュメントは、非インタラクティブPDFドキュメントである必要があります。 つまり、インタラクティブPDFドキュメントをPostScriptファイルに変換しようとすると、例外が発生します。

メモ

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

手順の概要

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

  1. プロジェクトファイルを含めます。
  2. Convert PDFサービスクライアントを作成します。
  3. PDFドキュメントを参照して、PostScriptファイルに変換します。
  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サービスを使用した新しい機能へのアクセス」を参照)。

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

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 FormsAPIリファレンスToPSOptionsSpecクラス参照を参照してください。

PDFドキュメントのPostScriptファイルへの変換

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

PostScriptファイルの保存

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

関連トピック

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

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

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

接続プロパティの設定

Convert PDF Service APIクイック開始

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

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

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

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

  2. Convert PDFクライアントの作成を参照してください。

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

    • コンストラクターを使用して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 FormsAPIリファレンス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 Service 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サービスに指定するstring値を渡します(例: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認証を有効にします。

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

    • コンストラクタを使用して 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レベルを定義するには、PSLevel定義済みリスト値をToPSOptionsSpecオブジェクトの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 FormsAPIリファレンスToImageOptionsSpecクラスリファレンスを参照してください。

PDFを画像に変換します

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

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

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

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

関連トピック

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

接続プロパティの設定

Convert PDF Service 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ドキュメントの場所を指定するstring値を渡して、変換するPDFドキュメントを表すjava.io.FileInputStreamオブジェクトを作成します。
    • コンストラクタを使用して 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 Service 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サービスに指定するstring値を渡します(例: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認証を有効にします。

      • AEM formsユーザー名をフィールドConvertPdfServiceClient.ClientCredentials.UserName.UserNameに割り当てます。
      • 対応するパスワード値をフィールドConvertPdfServiceClient.ClientCredentials.UserName.Passwordに割り当てます。
      • 定数値HttpClientCredentialType.BasicをフィールドBasicHttpBindingSecurity.Transport.ClientCredentialTypeに割り当てます。
      • 定数値BasicHttpSecurityMode.TransportCredentialOnlyをフィールドBasicHttpBindingSecurity.Security.Modeに割り当てます。
  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の呼び出し

このページ