XPS (XML Paper Specification)形式は、ページレイアウトを表すために使用されるMicrosoftによって導入されました。 XMLタグを使用して、ページの外観とドキュメントの構成を表します。さまざまなシナリオで、XPSドキュメントを他のドキュメント形式に変換する必要がある場合があります。これに応じて、この記事では、XPSドキュメントをプログラムでラスターイメージ形式に変換する方法について学習します。特に、Javaを使用してXPSをBMPJPEGPNG、および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からラスターイメージへの変換をカスタマイズするために、個別のクラスを提供します。たとえば、出力画像の解像度を設定したり、変換するページを指定したりすることができます。以下は、それに応じて使用できるクラスのリストです。

XPSをJavaでPNGに変換する

以下は、Aspose.XPS for Javaを使用してXPSドキュメントを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に変換する手順です。

次のコードサンプルは、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画像に変換できます。そのための手順は次のとおりです。

次のコードサンプルは、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画像に変換する手順は次のとおりです。

次のコードサンプルは、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の他の機能を調べることができます。

関連項目