XPS (XML Paper Specification)形式は、ページレイアウトを表すために使用されるMicrosoftによって導入されました。 XMLタグを使用して、ページの外観とドキュメントの構成を表します。さまざまなシナリオで、XPSドキュメントを他のドキュメント形式に変換する必要がある場合があります。これに応じて、この記事では、XPSドキュメントをプログラムでラスターイメージ形式に変換する方法について学習します。特に、Javaを使用してXPSをBMP、JPEG、PNG、およびTIFFに変換する方法について説明します。
XPS to Image Converter API-無料ダウンロード
Aspose.Page for Javaは、Javaアプリケーション内からPS、EPS、およびXPSドキュメントを操作するように設計されています。 APIの組み込みコンバーターを使用すると、XPSからPNG、JPEG、BMP、TIFF画像などのラスター画像形式への高品質な変換を実行できます。 APIのJARをダウンロードするか、Mavenベースのアプリケーションにインストールすることができます。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-page</artifactId>
<version>20.11</version>
</dependency>
XPSをJavaでラスター画像に変換する
Aspose.Page for Javaは、XPSからラスターイメージへの変換をカスタマイズするために、個別のクラスを提供します。たとえば、出力画像の解像度を設定したり、変換するページを指定したりすることができます。以下は、それに応じて使用できるクラスのリストです。
- PngSaveOptions for XPS to PNG
- JpegSaveOptions for XPS to JPEG
- BmpSaveOptions for XPS to BMP
- TiffSaveOptions for XPS to TIFF
XPSをJavaでPNGに変換する
以下は、Aspose.XPS for Javaを使用してXPSドキュメントをPNG画像に変換する手順です。
- XpsDocumentクラスを使用してXPSドキュメントをロードします。
- PngSaveOptionsクラスのインスタンスを作成して、追加のオプションを設定します。
- ImageDeviceクラスのインスタンスを作成します。
- XpsDocument.save(ImageDevice、PngSaveOptions)を使用して、変換されたPNG画像をImageDeviceオブジェクトに保存します。
- ImageDeviceを使用して、画像をPNGファイルとして保存します。
次のコードサンプルは、Javaを使用してXPSをPNGに変換する方法を示しています。
// 完全な例とデータファイルについては、https://github.com/aspose-page/Aspose.Page-for-Javaにアクセスしてください。
// ドキュメントディレクトリへのパス。
String dataDir = Utils.getDataDir();
// XPSドキュメントを読み込む
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// オプションオブジェクトを必要なパラメータで初期化します。
com.aspose.xps.rendering.PngSaveOptions options = new com.aspose.xps.rendering.PngSaveOptions();
options.setSmoothingMode(com.aspose.xps.rendering.SmoothingMode.HighQuality);
options.setResolution(300);
options.setPageNumbers(new int[] { 1, 2, 6 });
// PDF形式のレンダリングデバイスを作成する
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();
document.save(device, options);
// ドキュメントパーティション(XPS用語での固定ドキュメント)を反復処理します
for (int i = 0; i < device.getResult().length; i++) {
// パーティションページを反復処理します
for (int j = 0; j < device.getResult()[i].length; j++) {
// 画像出力ストリームを初期化します
FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoPNG" + "_" + (i + 1) + "_" + (j + 1) + ".png");
// 画像を書く
imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
}
}
JavaでXPSをJPEGに変換する
以下は、Aspose.Page for Javaを使用してXPSをJPEGに変換する手順です。
- XpsDocumentクラスを使用してXPSドキュメントをロードします。
- JpegSaveOptionsクラスを使用して、変換されたJPEG画像の追加オプションを設定します。
- ImageDeviceクラスのインスタンスを作成します。
- XpsDocument.save(ImageDevice、JpegSaveOptions)を使用して、変換されたJPEG画像をImageDeviceオブジェクトに保存します。
- ImageDeviceを使用して、画像をJPEGファイルとして保存します。
次のコードサンプルは、XPSをJPEGに変換する方法を示しています。
// 完全な例とデータファイルについては、https://github.com/aspose-page/Aspose.Page-for-Javaにアクセスしてください。
// ドキュメントディレクトリへのパス。
String dataDir = Utils.getDataDir();
// XPS入力ストリームを初期化します
// ストリームからXPSドキュメントをロードする
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// オプションオブジェクトを必要なパラメータで初期化します。
com.aspose.xps.rendering.JpegSaveOptions options = new com.aspose.xps.rendering.JpegSaveOptions();
options.setSmoothingMode(com.aspose.xps.rendering.SmoothingMode.HighQuality);
options.setResolution(300);
options.setPageNumbers(new int[] { 1, 2, 6 });
// PDF形式のレンダリングデバイスを作成する
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();
document.save(device, options);
// ドキュメントパーティション(XPS用語での固定ドキュメント)を反復処理します
for (int i = 0; i < device.getResult().length; i++) {
// パーティションページを反復処理します
for (int j = 0; j < device.getResult()[i].length; j++) {
// 画像出力ストリームを初期化します
FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoJPEG" + "_" + (i + 1) + "_" + (j + 1) + ".jpeg");
// 画像を書く
imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
}
}
XPSをJavaでBMPに変換する
PNGおよびJPEGの場合と同じ方法で、XPSファイルをBMP画像に変換できます。そのための手順は次のとおりです。
- XpsDocumentクラスを使用して、XPSドキュメントをロードします。
- BmpSaveOptionsクラスのインスタンスを作成して、変換されたBMPイメージの追加オプションを設定します。
- XpsDocument.save(ImageDevice、BmpSaveOptions)メソッドを使用して、変換されたBMP画像をImageDeviceオブジェクトに保存します。
- ImageDeviceを使用して、画像をBMPファイルとして保存します。
次のコードサンプルは、XPSファイルをBMPに変換する方法を示しています。
// 完全な例とデータファイルについては、https://github.com/aspose-page/Aspose.Page-for-Javaにアクセスしてください。
// ドキュメントディレクトリへのパス。
String dataDir = Utils.getDataDir();
// XPSドキュメントを読み込む
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// オプションオブジェクトを必要なパラメータで初期化します。
com.aspose.xps.rendering.BmpSaveOptions options = new com.aspose.xps.rendering.BmpSaveOptions();
options.setSmoothingMode(com.aspose.xps.rendering.SmoothingMode.HighQuality);
options.setResolution(300);
options.setPageNumbers(new int[]{1, 2, 6});
// PDF形式のレンダリングデバイスを作成する
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();
document.save(device, options);
// ドキュメントパーティション(XPS用語での固定ドキュメント)を反復処理します
for (int i = 0; i < device.getResult().length; i++) {
// パーティションページを反復処理します
for (int j = 0; j < device.getResult()[i].length; j++) {
// 画像出力ストリームを初期化します
FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoBMP" + "_" + (i + 1) + "_" + (j + 1) + ".bmp");
// 画像を書く
imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
}
}
XPSをJavaでTIFFに変換する
XPSドキュメントをTIFF画像に変換する手順は次のとおりです。
- XpsDocumentクラスを使用して、XPSドキュメントをロードします。
- TiffSaveOptionsクラスのインスタンスを作成して、変換されたTIFF画像の追加オプションを設定します。
- XpsDocument.save(ImageDevice、TiffSaveOptions)メソッドを使用して、変換されたTIFF画像をImageDeviceオブジェクトに保存します。
- ImageDeviceを使用して、画像をTIFFファイルとして保存します。
次のコードサンプルは、JavaでXPSドキュメントをTIFFイメージに変換する方法を示しています。
// 完全な例とデータファイルについては、https://github.com/aspose-page/Aspose.Page-for-Javaにアクセスしてください。
// ドキュメントディレクトリへのパス。
String dataDir = Utils.getDataDir();
// XPSドキュメントを読み込む
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// オプションオブジェクトを必要なパラメータで初期化します。
com.aspose.xps.rendering.TiffSaveOptions options = new com.aspose.xps.rendering.TiffSaveOptions();
options.setSmoothingMode(com.aspose.xps.rendering.SmoothingMode.HighQuality);
options.setResolution(300);
options.setPageNumbers(new int[] { 1, 2, 6 });
// PDF形式のレンダリングデバイスを作成する
com.aspose.xps.rendering.ImageDevice device = new com.aspose.xps.rendering.ImageDevice();
document.save(device, options);
// ドキュメントパーティション(XPS用語での固定ドキュメント)を反復処理します
for (int i = 0; i < device.getResult().length; i++) {
// パーティションページを反復処理します
for (int j = 0; j < device.getResult()[i].length; j++) {
// 画像出力ストリームを初期化します
FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoTIFF" + "_" + (i + 1) + "_" + (j + 1) + ".tif");
// 画像を書く
imageStream.write(device.getResult()[i][j], 0, device.getResult()[i][j].length);
}
}
結論
この記事では、Javaを使用してXPSファイルをラスターイメージ形式に変換する方法を学習しました。ステップバイステップガイド、APIリファレンス、およびコードサンプルは、XPSをPNG、JPEG、TIFF、およびBMPイメージに変換する方法を示しています。 ドキュメントを使用して、Java XPS APIの他の機能を調べることができます。