Postscript から PDF ドキュメントへの変換

このドキュメントのサンプルと例は、JEE 環境の AEM Forms のみを対象としています。

Distiller サービスについて

Distiller® サービスは、PostScript®、Encapsulated PostScript(EPS)および PRN ファイルを、ネットワーク上でコンパクトで信頼の高い、より安全な PDF ファイルに変換します。Distiller サービスは、請求書や明細書など、容量の大きい印刷ドキュメントを電子ドキュメントに変換する際によく使用されます。ドキュメントを PDF に変換して、顧客にドキュメントの印刷バージョンと電子バージョンを送付できます。

メモ

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

PostScript を PDF ドキュメントに変換する

このトピックでは、Distiller Service API(Java および web サービス)を使用して、PostScript(PS)、Encapsulated PostScript(EPS)および PRN ファイルをプログラムで PDF ドキュメントに変換する方法について説明します。

メモ

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

メモ

PostScript ファイルを PDF ドキュメントに変換するには、AEM Forms をホストするサーバーに Acrobat 9 または Microsoft Visual C++ 2005 の再頒布可能パッケージ次のいずれかをインストールする必要があります。

手順の概要

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

  1. プロジェクトファイルを含めます。
  2. Distiller サービスクライアントを作成します。
  3. 変換するファイルを取得します。
  4. PDF 作成の操作を呼び出します。
  5. PDF ドキュメントを保存します。

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

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

Distiller サービスクライアントの作成

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

変換するファイルの取得

変換するファイルを取得する必要があります。例えば、PS ファイルを PDF ドキュメントに変換するには、PS ファイルを取得する必要があります。

PDF 作成操作の呼び出し

サービスクライアントを作成した後で、PDF 作成の操作を呼び出すことができます。この操作を行うには、変換するドキュメントに関する情報(変換先のドキュメントのパスを含む)が必要です。

PDF ドキュメントの保存

PDF ドキュメントは、PDF ファイルとして保存できます。

関連トピック

Java API を使用して PostScript ファイルを PDF に変換する

Web サービス API を使用した PostScript ファイルの PDF への変換

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

接続プロパティの設定

Output Service API のクイックスタート

Java API を使用して PostScript ファイルを PDF に変換する

Distiller Service API(Java)を使用して、PostScript ファイルを PDF ドキュメントに変換します。

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

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

  2. Distiller サービスクライアントを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクターを使用し ServiceClientFactory オブジェクトを渡すことによって、DistillerServiceClient オブジェクトを作成します。
  3. 変換するファイルを取得します。

    • コンストラクターを使用してファイルの場所を指定する文字列値を渡すことで、変換するファイルを表す java.io.FileInputStream オブジェクトを作成します
    • コンストラクタを使用して com.adobe.idp.Document オブジェクトを渡すことによって、java.io.FileInputStream オブジェクトを作成します。
  4. PDF 作成の操作を呼び出します。

    DistillerServiceClient オブジェクトの createPDF メソッドをを呼び出して、以下の値を渡します。

    • 変換する PS、EPS、または PRN ファイルを表す com.adobe.idp.Document オブジェクト
    • 変換するファイルの名前を含む java.lang.String オブジェクト
    • 使用する Adobe PDF 設定の名前を含む java.lang.String オブジェクト
    • 使用するセキュリティ設定の名前を含む java.lang.String オブジェクト
    • PDF ドキュメントの生成時に適用される設定を含むオプションの com.adobe.idp.Document オブジェクト
    • PDF ドキュメントに適用されるメタデータ情報を含むオプションの com.adobe.idp.Document オブジェクト

    この createPDF メソッドは、新しい PDF ドキュメントとログファイル(生成された場合)を含む CreatePDFResult オブジェクトを返します。通常、ログファイルには、変換リクエストによって生成されるエラーメッセージや警告メッセージが含まれます。

  5. PDF ドキュメントを保存します。

    新しく作成した PDF ドキュメントを取得するには、次のアクションを実行します。

    • CreatePDFResult オブジェクトの getCreatedDocument メソッドを呼び出します。これにより、com.adobe.idp.Document オブジェクトが返されます。
    • com.adobe.idp.Document オブジェクトの copyToFile メソッドを呼び出して、PDF ドキュメントを抽出します。

    同様に、ログドキュメントを取得するには、次の操作を実行します。

    • CreatePDFResult オブジェクトの getLogDocument メソッドを呼び出します。これは com.adobe.idp.Document オブジェクトを返します。
    • com.adobe.idp.Document オブジェクトの copyToFile メソッドを呼び出してログドキュメントを抽出します。

関連トピック

手順の概要

クイックスタート(SOAP モード):Java API を使用して PostScript ファイルから PDF ドキュメントに変換

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

接続プロパティの設定

Web サービス API を使用して PostScript ファイルを PDF に変換する

Distiller Service API(Web サービス)を使用して、PostScript ファイルを PDF ドキュメントに変換します。

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

    MTOM を使用する Microsoft .NET プロジェクトを作成します。WSDL 定義 http://localhost:8080/soap/services/DistillerService?WSDL&lc_version=9.0.1 を使用するようにします。

    メモ

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

  2. Distiller サービスクライアントを作成します。

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

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

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

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

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

      • DistillerServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を DistillerServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
      • 定数値 BasicHttpSecurityMode.TransportCredentialOnly をフィールド BasicHttpBindingSecurity.Security.Mode に割り当てます。
  3. 変換するファイルを取得します。

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

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

    • 変換する PS ファイルを表す BLOB オブジェクト
    • 変換するファイルのパス名を含む文字列
    • 使用する Adobe PDF 設定を含む文字列オブジェクト(例えば Standard
    • 使用するセキュリティ設定を含む文字列オブジェクト(例えば No Security)
    • PDF ドキュメントの生成時に適用される設定を含む オプションの BLOB オブジェクト
    • PDF ドキュメントに適用するメタデータ情報を含むオプションの BLOB オブジェクト
    • PDF ドキュメントの保存に使用する BLOB 出力パラメータ
    • ログの保存に使用する BLOB 出力パラメーター
  5. PDF ドキュメントを保存します。

    • コンストラクターを呼び出して System.IO.FileStream オブジェクトを作成します。署名済み PDF ドキュメントのファイルの場所と、ファイルを開くモードを表す文字列値を渡します。
    • CreatePDF2 メソッド(出力パラメーター)によって返された BLOB オブジェクトのコンテンツを格納するバイト配列を作成します。BLOB オブジェクトの MTOM データメンバーの値を取得して、バイト配列に入力します。
    • コンストラクターを使用して System.IO.BinaryWriter オブジェクトを渡すことによって、System.IO.FileStream オブジェクトを作成します。
    • System.IO.BinaryWriter オブジェクトの Write メソッドを呼び出して、バイト配列を渡すことによって、バイト配列の内容を PDF ファイルに書き込みます。

関連トピック:

手順の概要

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

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

このページ