PDF の Postscript および画像ファイルへの変換 converting-pdf-to-postscript-andimage-files
このドキュメントのサンプルと例は、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ドキュメントを画像形式に変換します。
PDF ドキュメントの PostScript への変換 converting-pdf-documents-to-postscript
ここでは、Convert PDF サービス API(Java および web サービス)を使用して、PDF ドキュメントを PostScript ファイルにプログラムで変換する方法について説明します。PostScript ファイルに変換する PDF ドキュメントは、非インタラクティブ PDF ドキュメントである必要があります。つまり、インタラクティブ PDF ドキュメントを PostScript ファイルに変換しようとすると、例外がスローされます。
手順の概要 summary-of-steps
PDF ドキュメントを PostScript ファイルに変換するには、次の手順を実行します。
- プロジェクトファイルを含めます。
- Convert PDF サービスクライアントを作成します。
- PostScript ファイルに変換する PDF ドキュメントを参照します。
- 変換の実行時オプションを設定します。
- PDF ドキュメントを PostScript ファイルに変換します。
- 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 オプションを定義します。また、RotateAndCenterオプションを true に設定して、正しい PostScript 出力を取得することをお勧めします。
同様に、ExpandToFit オプション(ページに合わせて PostScript ファイルの出力を拡張する)を選択した場合、入力 PDF ドキュメントよりも大きいページサイズで出力するように選択した場合にのみ有効になります。大きいページサイズを選択するには、PageSize オプションを定義します。また、RotateAndCenter オプションを true に設定して、正しい PostScript 出力を取得することをお勧めします。
ToPSOptionsSpec クラスレファレンスを参照してください。PDF ドキュメントを PostScript ファイルに変換
サービスクライアントを作成し、実行時オプションを設定したら、PostScript 変換操作を呼び出すことができます。この操作では、変換するドキュメントに関する情報(ターゲットドキュメントに適した PostScript レベルを含む)が必要になります。
PostScript ファイルを保存
PDF ドキュメントを PostScript に変換したら、出力を PostScript ファイルとして保存できます。
関連トピック
Java API を使用して PDF ドキュメントを PS に変換
Java API を使用して PDF ドキュメントを PS に変換 convert-a-pdf-document-to-ps-using-the-java-api
Convert PDF サービス API(Java)を使用して、PDF ドキュメントを PostScript に変換します。
-
プロジェクトファイルを含めます。
adobe-convertpdf-client.jar などのクライアント JAR ファイルを Java プロジェクトのクラスパスに含めます。
-
Convert PDF クライアントを作成します。
- 接続プロパティを含む
ServiceClientFactoryオブジェクトを作成します。 - コンストラクタを使用して
ConvertPdfServiceClientオブジェクトを渡すことによって、ServiceClientFactoryオブジェクトを作成します。
- 接続プロパティを含む
-
PostScript ファイルに変換する PDF ドキュメントを参照します。
- コンストラクターを使用して
java.io.FileInputStreamオブジェクトを作成し、変換する PDF ドキュメントの場所を指定する文字列値を渡します。 com.adobe.idp.Documentコンストラクターを使用して、PDF ドキュメントを格納するcom.adobe.idp.Documentを作成します。PDF ドキュメントを含んだjava.io.FileInputStreamオブジェクトを渡します。
- コンストラクターを使用して
-
変換の実行時オプションを設定します。
- コンストラクターを呼び出して
ToPSOptionsSpecオブジェクトを作成します。 ToPSOptionsSpecオブジェクトに属する適切なメソッドを呼び出して、実行時オプションを設定します。例えば、作成される PostScript レベルを定義するには、ToPSOptionsSpecオブジェクトのsetPsLevelメソッドを呼び出して、PostScript レベルを指定するPSLevel列挙値を渡します。設定できるすべての実行時の値について詳しくは、 AEM Forms API リファレンスのToPSOptionsSpecクラスリファレンスを参照してください。
- コンストラクターを呼び出して
-
PDF ドキュメントを PostScript ファイルに変換します。
ConvertPdfServiceClientオブジェクトのtoPS2メソッドを呼び出して、次の値を渡します。- PostScript ファイルに変換する PDF ドキュメントを表す
com.adobe.idp.Documentオブジェクト - PostScript の実行時オプションを指定する
ToPSOptionsSpecオブジェクト
この
toPS2メソッドは、新しい PostScript ドキュメントを含んだDocumentオブジェクトを返します。 - PostScript ファイルに変換する PDF ドキュメントを表す
-
PostScript ファイルを保存します。
java.io.Fileオブジェクトを作成し、ファイル拡張子が .ps であることを確認します。DocumentオブジェクトのcopyToFileメソッドを呼び出して、Documentオブジェクトの内容をファイルにコピーします(必ず、toPS2メソッドによって返されたDocumentオブジェクトを使用します)。
関連情報
クイックスタート(SOAP モード):Java API を使用した PDF ドキュメントの PostScript への変換
Web サービス API を使用して PDF ドキュメントを PS に変換 convert-a-pdf-document-to-ps-using-the-web-service-api
Convert PDF サービス API(web サービス)を使用して、PDF キュメントを PostScript に変換します。
-
プロジェクトファイルを含めます。
MTOM を使用する Microsoft .NET プロジェクトを作成します。WSDL 定義
http://localhost:8080/soap/services/ConvertPDFService?WSDL&lc_version=9.0.1を使用するようにします。note note NOTE localhostを、AEM Forms をホストするサーバーの IP アドレスに置き換えます。 -
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フィールドに割り当てます。 - 定数値
HttpClientCredentialType.BasicをBasicHttpBindingSecurity.Transport.ClientCredentialTypeフィールドに割り当てます。 - 定数値
BasicHttpSecurityMode.TransportCredentialOnlyをフィールドBasicHttpBindingSecurity.Security.Modeに割り当てます。
-
-
PostScript ファイルに変換する PDF ドキュメントを参照します。
- コンストラクタを使用して
BLOBオブジェクトを作成します。このBLOBオブジェクトは、PostScript ファイルに変換された PDF ドキュメントを格納するために使用されます。 System.IO.FileStreamオブジェクトを作成します。それには、コンストラクターを呼び出し、変換する PDF ドキュメントのファイルの場所と、ファイルを開くモードを表す文字列値を渡します。System.IO.FileStreamオブジェクトの内容を格納するバイト配列を作成します。バイト配列のサイズは、System.IO.FileStreamオブジェクトのLengthプロパティを取得することで決定できます。System.IO.FileStreamオブジェクトのReadメソッドを呼び出し、読み取るバイト配列、開始位置、ストリーム長を渡すことにより、バイト配列にストリームデータを入力します。MTOMフィールドにバイト配列の内容を割り当てることにより、BLOBオブジェクトに入力します。
- コンストラクタを使用して
-
変換の実行時オプションを設定します。
- コンストラクターを呼び出して
ToPSOptionsSpecオブジェクトを作成します。 ToPSOptionsSpecオブジェクトのデータメンバーに値を割り当てて、実行時オプションを設定します。例えば、作成する PostScript レベルを定義するには、ToPSOptionsSpecオブジェクトのpsLevelデータメンバーにPSLevel列挙値を割り当てます。
- コンストラクターを呼び出して
-
PDF ドキュメントを PostScript ファイルに変換します。
GeneratePDFServiceServiceオブジェクトのtoPS2メソッドを呼び出して、次の値を渡します。- PostScript ファイルに変換する PDF ドキュメントを表す
BLOBオブジェクト - 実行時のオプションを指定する
ToPSOptionsSpecオブジェクト
変換が完了したら、
BLOBオブジェクトのMTOMプロパティにアクセスして、PostScript ドキュメントを表すバイナリデータを抽出します。PostScript ファイルに書き出すことができるバイト配列を返します。 - PostScript ファイルに変換する PDF ドキュメントを表す
-
PostScript ファイルを保存します。
- コンストラクターを呼び出して、
System.IO.FileStreamオブジェクトを作成します。PS ファイルの場所を表す文字列値を渡します。 encryptPDFUsingPasswordメソッドから返されたBLOBオブジェクトのデータ内容を格納するバイト配列を作成します。BLOBオブジェクトのMTOMフィールドの値を取得して、バイト配列にデータを入力します。- コンストラクターを呼び出して
System.IO.FileStreamオブジェクトを渡すことによって、System.IO.BinaryWriterオブジェクトを作成します。 System.IO.BinaryWriterオブジェクトのWriteメソッドを呼び出し、バイト配列を渡して、バイト配列の内容を PostScript ファイルに書き込みます。
- コンストラクターを呼び出して、
関連情報
PDFドキュメントの画像形式への変換 converting-pdf-documents-to-image-formats
Convert PDF サービスを使用すると、PDF ドキュメントを JPEG、JPEG 2000、TIFF、PNG などの画像形式にプログラムで変換できます。PDF ドキュメントを画像ファイルに変換することにより、PDF ドキュメントを画像ファイルとして使用できます。例えば、画像をストレージ用のエンタープライズコンテンツ管理システムに配置できます。
Convert PDF サービスは、PDF ドキュメントを画像に変換する際に、ドキュメント内のページごとに個別の画像を作成します。例えば、ドキュメントのページ数が 20 の場合、 Convert PDF サービスは 20 個の画像ファイルを作成します。PDF ドキュメントを PDF 形式に変換する場合、PDF ドキュメント内のページごとに個々の画像を作成するか、画像ドキュメント全体の単一の画像ファイルを作成できます。
手順の概要 summary_of_steps-1
PDF ドキュメントをサポートされている任意のタイプに変換するには、次の手順を実行します。
- プロジェクトファイルを含めます。
- Convert PDF サービスクライアントを作成します。
- 変換する PDF ドキュメントを取得します。
- 実行時オプションを設定します。
- PDF を画像に変換します。
- コレクションから画像ファイルを取得します。
プロジェクトファイルを含める
開発プロジェクトに必要なファイルを含めます。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 ファイルとして保存できます。
関連トピック
Java API を使用して PDF ドキュメントを画像ファイルに変換 convert-a-pdf-document-to-image-files-using-the-java-api
Convert PDF サービス API(Java)を使用して、PDFドキュメントを画像形式に変換します。
-
プロジェクトファイルを含めます。
adobe-convertpdf-client.jar などのクライアント JAR ファイルを Java プロジェクトのクラスパスに含めます。
-
Convert PDF クライアントを作成します。
- 接続プロパティを含む
ServiceClientFactoryオブジェクトを作成します。 - コンストラクタを使用して
ConvertPdfServiceClientオブジェクトを渡すことによって、ServiceClientFactoryオブジェクトを作成します。
- 接続プロパティを含む
-
変換する PDF ドキュメントを取得します。
- コンストラクターを使用して、PDF ドキュメントの場所を指定する文字列値を渡すことにより、変換する PDF ドキュメントを表す
java.io.FileInputStreamオブジェクトを作成します。 - コンストラクタを使用して
com.adobe.idp.Documentオブジェクトを渡すことによって、java.io.FileInputStreamオブジェクトを作成します。
- コンストラクターを使用して、PDF ドキュメントの場所を指定する文字列値を渡すことにより、変換する PDF ドキュメントを表す
-
実行時オプションを設定します。
- コンストラクタを使用して
ToImageOptionsSpecオブジェクトを作成します。 - 必要に応じて、このオブジェクトに属するメソッドを呼び出します。例えば、
setImageConvertFormatメソッドを呼び出して、形式のタイプを 指定するImageConvertFormat列挙値を渡すことにより、画像のタイプを設定します。
note note NOTE ImageConvertFormat列挙値の設定は必須です。 - コンストラクタを使用して
-
PDF を画像に変換します。
ConvertPdfServiceClientオブジェクトのtoImage2メソッドを呼び出して、次の値を渡します。- 変換する PDF ドキュメントを表す
com.adobe.idp.Documentオブジェクト。 - ターゲット画像の形式に関する各種の環境設定が含まれる
com.adobe.livecycle.converpdfservice.client.ToImageOptionsSpecオブジェクト。
toImage2メソッドは、画像が含まれるjava.util.Listオブジェクトを返します。コレクションに含まれる各要素は、com.adobe.idp.Documentのインスタンスです。 - 変換する PDF ドキュメントを表す
-
コレクションから画像ファイルを取得します。
java.util.Listオブジェクトを繰り返して、画像が存在するかを判断します。各要素は、com.adobe.idp.Documentのインスタンスです。com.adobe.idp.DocumentオブジェクトのcopyToFileメソッドを呼び出し、java.io.Fileオブジェクトを渡して、画像を保存します。
関連トピック
Web サービス API を使用して PDF ドキュメントを画像ファイルに変換 convert-a-pdf-document-to-image-files-using-the-web-service-api
Convert PDF サービス API(web サービス)を使用して、PDF ドキュメントを画像の形式に変換します。
-
プロジェクトファイルを含めます。
MTOM を使用する Microsoft .NET プロジェクトを作成します。WSDL 定義
http://localhost:8080/soap/services/ConvertPDFService?WSDL&lc_version=9.0.1を使用するようにします。note note NOTE localhostを、AEM Forms をホストしているサーバーの IP アドレスに置き換えます。 -
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フィールドに割り当てます。 - 定数値
HttpClientCredentialType.BasicをBasicHttpBindingSecurity.Transport.ClientCredentialTypeフィールドに割り当てます。 - 定数値
BasicHttpSecurityMode.TransportCredentialOnlyをフィールドBasicHttpBindingSecurity.Security.Modeに割り当てます。
-
-
変換する PDF ドキュメントを取得します。
- コンストラクタを使用して
BLOBオブジェクトを作成します。このBLOBオブジェクトは、PDF フォームを格納するために使用します。 - コンストラクターを呼び出して
System.IO.FileStreamオブジェクトを作成します。PDF フォームの場所と、ファイルを開くときのモードを指定する文字列値を渡します。 System.IO.FileStreamオブジェクトの内容を格納するバイト配列を作成します。バイト配列のサイズは、System.IO.FileStreamオブジェクトのLengthプロパティを取得することで決定します。System.IO.FileStreamオブジェクトのReadメソッドを呼び出して、バイト配列にストリームデータを入力します。読み取り対象のバイト配列、開始位置、ストリーム長を渡します。MTOMフィールドを割り当てることにより、BLOBオブジェクトにバイト配列の内容を入力します。
- コンストラクタを使用して
-
実行時オプションを設定します。
- コンストラクタを使用して
ToImageOptionsSpecオブジェクトを作成します。 - 必要に応じて、このオブジェクトに属するメソッドを呼び出します。例えば、画像のタイプを設定するには、
setImageConvertFormatメソッドを呼び出し、フォーマットタイプを指定するImageConvertFormat列挙値を渡します。
note note NOTE ImageConvertFormat列挙値の設定は必須です。 - コンストラクタを使用して
-
PDF を画像に変換します。
ConvertPDFServiceServiceオブジェクトのtoImage2メソッドを呼び出して、次の値を渡します。- 変換するファイルを表す
BLOBオブジェクト - ターゲット画像形式に関する様々な環境設定を含む
ToImageOptionsSpecオブジェクト
toImage2メソッドは、新しく作成された画像ファイルを含むMyArrayOfBLOBオブジェクトを返します。 - 変換するファイルを表す
-
コレクションから画像ファイルを取得します。
MyArrayOfBLOBオブジェクトのCountフィールドの値を取得し、その中の要素数を決定します。各要素は 画像を含むBLOBオブジェクトです。MyArrayOfBLOBオブジェクトを繰り返し処理し、各画像ファイルを保存します。
関連トピック