XPSOXPSからPNGJPG画像C#

XPSファイル形式は、ファイル処理アプリケーションで頻繁に使用されます。 XPSまたはOXPSJPGまたはPNGイメージに、.NET FrameworkベースのアプリケーションでC#またはVB.NETを使用してプログラムで変換できます。 XPS変換の詳細については、次のシナリオを見ていきましょう。

XPS、OXPSからJPGまたはPNG Image Converter API –インストール

いくつかの簡単なAPI呼び出しで、XPSまたはOXPSファイルをJPGまたはPNG画像に簡単に変換できます。 Aspose.Page for .NET APIには、XPS、OXPS、およびその他のいくつかのサポートされているファイル形式で動作するさまざまな機能が含まれています。 ZIPファイルはダウンロードセクションから簡単にダウンロードできます。または、次のコマンドを使用してNuGetパッケージマネージャーからインストールできます。

Install-Package Aspose.Page -Version 20.10.0

APIを構成した後、.NETアプリケーションでXPSまたはOXPSファイルを効率的に操作できます。

C#またはVB.NETを使用して、XPS、OXPSをJPG画像に変換します

JPGファイルは、すべてのシステム環境でサポートされていることで有名です。 XPSまたはOXPSファイルは、C#またはVB.NETを使用してプログラムでJPG画像に変換できます。 XPSまたはOXPSからJPGへの画像変換については、次の手順に従う必要があります。

  1. 入力XPSまたはOXPSファイルをロードします
  2. JpegSaveOptionsオブジェクトを初期化します
  3. SmoothingModeResolution、およびPageNumbersを指定してレンダリングします
  4. 出力JPG画像を保存します

次のコードは、C#言語を使用してXPSまたはOXPSをJPG画像に変換する方法を示しています。

// 入力ファイル
string inputFileName = dataDir + "input.xps";
//出力ファイル 
string outputFileName = dataDir + "XPStoImage_out.jpeg";
// XPS入力ストリームを初期化します
using (Stream xpsStream = File.Open(inputFileName, FileMode.Open, FileAccess.Read))
{
    // ストリームからXPSドキュメントをロードする
    XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
    // または、ファイルから直接XPSドキュメントをロードします。その場合、xpsStreamは必要ありません。
    // XpsDocument document = new XpsDocument(inputFileName、new XpsLoadOptions());

    // オプションオブジェクトを必要なパラメータで初期化します。
    JpegSaveOptions options = new JpegSaveOptions()
    {
        SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality,
        Resolution = 300
    };

    // JPG形式のレンダリングデバイスを作成します
    ImageDevice device = new ImageDevice();

    document.Save(device, options);

    // ドキュメントパーティション(XPS用語での固定ドキュメント)を反復処理します
    for (int i = 0; i < device.Result.Length; i++)
        // パーティションページを反復処理します
        for (int j = 0; j < device.Result[i].Length; j++)
        {
            // 画像出力ストリームを初期化します
            using (Stream imageStream = System.IO.File.Open(Path.GetDirectoryName(outputFileName) +
                Path.GetFileNameWithoutExtension(outputFileName) + "_" + (i + 1) + "_" + (j + 1) +
                Path.GetExtension(outputFileName), System.IO.FileMode.Create, System.IO.FileAccess.Write))
                // 画像を書く
                imageStream.Write(device.Result[i][j], 0, device.Result[i][j].Length);
        }
}

C#またはVB.NETを使用してXPS、OXPSをPNG画像に変換する

Aspose.Page for .NET APIでC#またはVB.NETを使用して、XPSまたはOXPSファイルをPNGに変換する必要がある場合があります。 XPSからPNGに変換するには、以下の手順に従う必要があります。

  1. 入力XPSまたはOXPSファイルをロードします
  2. PngSaveOptionsオブジェクトを初期化します
  3. レンダリング用に画像解像度またはページ番号を設定します
  4. 出力PNG画像を保存する

以下のコードスニペットは、C#を使用してプログラムでXPSまたはOXPSファイルをPNG画像に変換する方法を示しています。

// 入力ファイル
string inputFileName = dataDir + "input.xps";
//Oututファイル 
string outputFileName = dataDir + "XPStoImage_out.png";
// XPS入力ストリームを初期化します
using (Stream xpsStream = File.Open(inputFileName, FileMode.Open, FileAccess.Read))
{
    // ストリームからXPSドキュメントをロードする
    XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
    // または、ファイルから直接XPSドキュメントをロードします。その場合、xpsStreamは必要ありません。
    // XpsDocument document = new XpsDocument(inputFileName、new XpsLoadOptions());

    // オプションオブジェクトを必要なパラメータで初期化します。
    PngSaveOptions options = new PngSaveOptions()
    {
        SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality,
        Resolution = 300
    };

    // PNG形式のレンダリングデバイスを作成する
    ImageDevice device = new ImageDevice();

    document.Save(device, options);

    // ドキュメントパーティション(XPS用語での固定ドキュメント)を反復処理します
    for (int i = 0; i < device.Result.Length; i++)
        // パーティションページを反復処理します
        for (int j = 0; j < device.Result[i].Length; j++)
        {
            // 画像出力ストリームを初期化します
            using (Stream imageStream = System.IO.File.Open(Path.GetDirectoryName(outputFileName) +
                Path.GetFileNameWithoutExtension(outputFileName) + "_" + (i + 1) + "_" + (j + 1) +
                Path.GetExtension(outputFileName), System.IO.FileMode.Create, System.IO.FileAccess.Write))
                // 画像を書く
                imageStream.Write(device.Result[i][j], 0, device.Result[i][j].Length);
        }
}

結論

この記事では、プログラムでC#またはVB.NETを使用してXPSまたはOXPSファイルをJPGまたはPNG画像に変換する方法を学習しました。同様に、他のいくつかのファイル形式APIがAspose.Pagefor.NETでサポートされています。 APIが提供する機能の詳細については、製品ドキュメントまたはAPIリファレンスを参照してください。また、無料サポートフォーラムからいつでもご連絡いただけます。フィードバックや質問をお気軽に共有してください!

関連項目