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向けサービスリファレンス』を参照してください。
このトピックでは、Convert PDF Service API(JavaおよびWebサービス)を使用して、PDFドキュメントをPostScriptファイルにプログラム的に変換する方法について説明します。 PostScriptファイルに変換されるPDFドキュメントは、非インタラクティブPDFドキュメントである必要があります。 つまり、インタラクティブPDFドキュメントをPostScriptファイルに変換しようとすると、例外が発生します。
Convert PDFサービスについて詳しくは、『AEM Forms向けサービスリファレンス』を参照してください。
PDFドキュメントを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ファイルとして保存できます。
関連トピック
WebサービスAPIを使用してPDFドキュメントをPSに変換する
Convert PDF Service API(Java)を使用してPDFドキュメントをPostScriptに変換します。
プロジェクトファイルを含めます。
Javaプロジェクトのクラスパスに、adobe-convertpdf-client.jarなどのクライアントJARファイルを含めます。
Convert PDFクライアントの作成を参照してください。
ServiceClientFactory
オブジェクトを作成します。ConvertPdfServiceClient
オブジェクトを渡すことによって、ServiceClientFactory
オブジェクトを作成します。PDFドキュメントを参照して、PostScriptファイルに変換します。
java.io.FileInputStream
オブジェクトを作成し、変換するPDFドキュメントの場所を指定する文字列値を渡します。com.adobe.idp.Document
コンストラクターを使用して、PDFドキュメントを格納する<a0/>オブジェクトを作成します。 com.adobe.idp.Document
PDFドキュメントを含むjava.io.FileInputStream
オブジェクトを渡します。変換の実行時オプションを設定します。
ToPSOptionsSpec
オブジェクトを作成します。ToPSOptionsSpec
オブジェクトに属する適切なメソッドを呼び出して、実行時のオプションを設定します。 例えば、作成されるPostScriptレベルを定義するには、ToPSOptionsSpec
オブジェクトのsetPsLevel
メソッドを呼び出し、PostScriptレベルを指定するPSLevel
定義済みリスト値を渡します。 設定できるすべての実行時の値について詳しくは、AEM FormsAPIリファレンスのToPSOptionsSpec
クラス参照を参照してください。PDFドキュメントをPostScriptファイルに変換します。
ConvertPdfServiceClient
オブジェクトのtoPS2
メソッドを呼び出し、次の値を渡します。
com.adobe.idp.Document
オブジェクトです。ToPSOptionsSpec
オブジェクト。toPS2
メソッドは、新しいPostScriptドキュメントを含むDocument
オブジェクトを返します。
PostScriptファイルを保存します。
java.io.File
オブジェクトを作成し、ファイル名の拡張子が.psであることを確認します。Document
オブジェクトのcopyToFile
メソッドを呼び出して、Document
オブジェクトの内容をファイルにコピーします(toPS2
メソッドから返されたDocument
オブジェクトを必ず使用してください)。関連トピック
クイック開始(SOAPモード):Java APIを使用したPDFドキュメントのPostScriptへの変換
Convert PDF Service API(Webサービス)を使用してPDFドキュメントをPostScriptに変換します。
プロジェクトファイルを含めます。
MTOMを使用するMicrosoft .NETプロジェクトを作成します。 次のWSDL定義を使用していることを確認します。http://localhost:8080/soap/services/ConvertPDFService?WSDL&lc_version=9.0.1
.
localhost
を、AEM FormsをホストするサーバーのIPアドレスに置き換えます。
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認証を有効にします。
ConvertPdfServiceClient.ClientCredentials.UserName.UserName
に割り当てます。ConvertPdfServiceClient.ClientCredentials.UserName.Password
に割り当てます。HttpClientCredentialType.Basic
をフィールドBasicHttpBindingSecurity.Transport.ClientCredentialType
に割り当てます。BasicHttpSecurityMode.TransportCredentialOnly
をフィールドBasicHttpBindingSecurity.Security.Mode
に割り当てます。PDFドキュメントを参照して、PostScriptファイルに変換します。
BLOB
オブジェクトを作成します。BLOB
オブジェクトは、PostScriptファイルに変換されたPDFドキュメントの保存に使用されます。System.IO.FileStream
オブジェクトを作成します。System.IO.FileStream
オブジェクトの内容を格納するバイト配列を作成します。 System.IO.FileStream
オブジェクトのLength
プロパティを取得して、バイト配列のサイズを決定できます。System.IO.FileStream
オブジェクトのRead
メソッドを呼び出し、読み取るバイト配列、開始位置、ストリーム長を渡すことで、バイト配列にストリームデータを入力します。BLOB
オブジェクトに、MTOM
フィールドにバイト配列の内容を割り当てて入力します。変換の実行時オプションを設定します。
ToPSOptionsSpec
オブジェクトを作成します。ToPSOptionsSpec
オブジェクトのデータメンバに値を割り当てて、実行時オプションを設定します。 例えば、作成されるPostScriptレベルを定義するには、PSLevel
定義済みリスト値をToPSOptionsSpec
オブジェクトのpsLevel
データメンバに割り当てます。PDFドキュメントをPostScriptファイルに変換します。
GeneratePDFServiceService
オブジェクトのtoPS2
メソッドを呼び出し、次の値を渡します。
BLOB
オブジェクトToPSOptionsSpec
オブジェクト変換が完了したら、BLOB
オブジェクトのMTOM
プロパティにアクセスして、PostScriptドキュメントを表すバイナリデータを抽出します。 これは、PostScriptファイルに書き出すことのできるバイト配列を返します。
PostScriptファイルを保存します。
System.IO.FileStream
オブジェクトを作成します。 PSファイルのファイルの場所を表すstring値を渡します。encryptPDFUsingPassword
メソッドから返されたBLOB
オブジェクトのデータ内容を格納するバイト配列を作成します。 BLOB
オブジェクトのMTOM
フィールドの値を取得して、バイト配列を入力します。System.IO.FileStream
オブジェクトを渡し、System.IO.BinaryWriter
オブジェクトを作成します。System.IO.BinaryWriter
オブジェクトのWrite
メソッドを呼び出し、バイト配列を渡すことで、バイト配列の内容をPostScriptファイルに書き込みます。関連トピック
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ドキュメントをサポートされている任意の種類に変換するには、次の手順を実行します。
プロジェクトファイルを含める
必要なファイルを開発プロジェクトに含めます。 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ファイルとして保存できます。
関連トピック
Convert PDFサービスAPI(Java)を使用して、PDFドキュメントを画像形式に変換します。
プロジェクトファイルを含めます。
Javaプロジェクトのクラスパスに、adobe-convertpdf-client.jarなどのクライアントJARファイルを含めます。
Convert PDFクライアントの作成を参照してください。
ServiceClientFactory
オブジェクトを作成します。ConvertPdfServiceClient
オブジェクトを渡すことによって、ServiceClientFactory
オブジェクトを作成します。変換するPDFドキュメントを取得します。
java.io.FileInputStream
オブジェクトを作成します。com.adobe.idp.Document
オブジェクトを渡すことによって、java.io.FileInputStream
オブジェクトを作成します。実行時オプションを設定します。
ToImageOptionsSpec
オブジェクトを作成します。setImageConvertFormat
メソッドを呼び出し、形式の種類を指定するImageConvertFormat
列挙値を渡して、イメージの種類を設定します。ImageConvertFormat
定義済みリスト値の設定は必須です。
PDFを画像に変換します。
ConvertPdfServiceClient
オブジェクトのtoImage2
メソッドを呼び出し、次の値を渡します。
com.adobe.idp.Document
オブジェクトです。com.adobe.livecycle.converpdfservice.client.ToImageOptionsSpec
オブジェクト。toImage2
メソッドは、画像を含むjava.util.List
オブジェクトを返します。 コレクション内の各要素はcom.adobe.idp.Document
インスタンスです。
コレクションから画像ファイルを取得します。
java.util.List
オブジェクトを繰り返し処理して、画像が存在するかどうかを判断します。 各要素はcom.adobe.idp.Document
インスタンスです。 com.adobe.idp.Document
オブジェクトのcopyToFile
メソッドを呼び出し、java.io.File
オブジェクトを渡して、画像を保存します。
関連トピック
クイック開始(SOAPモード):Java APIを使用したPDFドキュメントのJPEGファイルへの変換
Convert PDF Service API(Webサービス)を使用してPDFドキュメントを画像形式に変換します。
プロジェクトファイルを含めます。
MTOMを使用するMicrosoft .NETプロジェクトを作成します。 次のWSDL定義を使用していることを確認します。http://localhost:8080/soap/services/ConvertPDFService?WSDL&lc_version=9.0.1
.
localhost
を、AEM FormsをホストするサーバーのIPアドレスに置き換えます。
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認証を有効にします。
ConvertPdfServiceClient.ClientCredentials.UserName.UserName
に割り当てます。ConvertPdfServiceClient.ClientCredentials.UserName.Password
に割り当てます。HttpClientCredentialType.Basic
をフィールドBasicHttpBindingSecurity.Transport.ClientCredentialType
に割り当てます。BasicHttpSecurityMode.TransportCredentialOnly
をフィールドBasicHttpBindingSecurity.Security.Mode
に割り当てます。変換するPDFドキュメントを取得します。
BLOB
オブジェクトを作成します。このBLOB
オブジェクトは、PDFフォームの保存に使用されます。System.IO.FileStream
オブジェクトを作成します。 PDFフォームの場所とファイルを開くモードを指定するstring値を渡します。System.IO.FileStream
オブジェクトの内容を格納するバイト配列を作成します。 System.IO.FileStream
オブジェクトのLength
プロパティを取得して、バイト配列のサイズを決定します。System.IO.FileStream
オブジェクトのRead
メソッドを呼び出して、バイト配列にストリームデータを入力します。 読み取るバイト配列、開始位置、ストリーム長を渡します。BLOB
オブジェクトに、MTOM
フィールドにバイト配列の内容を割り当てて入力します。実行時オプションを設定します。
ToImageOptionsSpec
オブジェクトを作成します。setImageConvertFormat
メソッドを呼び出し、形式の種類を指定するImageConvertFormat
定義済みリスト値を渡して、画像の種類を設定します。ImageConvertFormat
定義済みリスト値の設定は必須です。
PDFを画像に変換します。
ConvertPDFServiceService
オブジェクトのtoImage2
メソッドを呼び出し、次の値を渡します。
BLOB
オブジェクトToImageOptionsSpec
オブジェクトtoImage2
メソッドは、新しく作成された画像ファイルを含むMyArrayOfBLOB
オブジェクトを返します。
コレクションから画像ファイルを取得します。
Count
フィールドの値を取得して、MyArrayOfBLOB
オブジェクトの要素数を決定します。 各要素は、画像を含むBLOB
オブジェクトです。MyArrayOfBLOB
オブジェクトを繰り返し処理し、各画像ファイルを保存します。関連トピック