C# XPS を PDF に変換 | C# で OXPS を PDF に変換する

XPS (Open XML Paper Supplement) および OXPS (OpenXPS) は固定ページ文書を表します。 XPS ドキュメントは、元のドキュメントのレイアウトと書式設定を保持するという点で PDF ドキュメントに似ています。ただし、XPS ドキュメントは PDF ドキュメントほど広くサポートされていません。 PDF (Portable Document Format) ドキュメントは、さまざまなプラットフォームやデバイスで広くサポートされています。この記事では、C# で XPS または OXPS を PDF に変換する方法を説明します。

この記事では次のトピックについて説明します。

  1. XPS を PDF に変換するための C# API
  2. C# を使用して XPS を PDF に変換
  3. XPSの特定ページをPDFに変換
  4. C# での OXPS から PDF へのコンバーター
  5. OXPSの特定ページをPDFに変換
  6. XPS ファイルをオンラインで PDF に変換
  7. XPS から PDF - 無料の学習リソース

XPS を PDF に変換するための C# API

Aspose.Page for .NET API を使用して、XPS または OXPS ドキュメントを PDF 形式に変換します。これは、開発者が XPS および EPS/PS ドキュメントを作成、編集、操作、変換できる強力な API です。 Aspose.Page for .NET は、使いやすく、.NET アプリケーションに統合できる信頼性の高いスタンドアロン API です。

API の DLL をダウンロードするか、次の NuGet コマンドを使用してインストールしてください。

PM> Install-Package Aspose.Page

C# を使用して XPS を PDF に変換する

以下の手順に従って、XPS ドキュメント全体を PDF 形式に変換できます。

  1. 入力 XPS ファイルを読み込みます。
  2. 必要なパラメータを使用してオプション オブジェクトを初期化します。
  3. レンダリング用の PdfDevice のインスタンスを作成します。
  4. XPS を PDF ドキュメントにエクスポートします。

以下のコード サンプルは、C# を使用して XPS ファイルを PDF に変換する方法を示しています。

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

// 必要なパラメータを使用してオプション オブジェクトを初期化します。
Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
{
    JpegQualityLevel = 100,
    ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
    TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate,
};
// PDF 形式用のレンダリング デバイスを作成する
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

C# で XPS の特定のページを PDF に変換する

以下の手順に従って、XPS ドキュメントの選択したページを PDF 形式に変換することもできます。

  1. XPS 入力ストリームを初期化します。
  2. ストリームから XPS ドキュメントを読み込みます。
  3. PdfSaveOptions オブジェクトを初期化します。
  4. 変換するページ番号を指定します。
  5. ドキュメントを PDF ファイルとして保存します。

次のコード サンプルは、C# で XPS の特定のページを PDF に変換する方法を示しています。

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

    // 必要なパラメータを使用してオプション オブジェクトを初期化します。
    Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
    {
        JpegQualityLevel = 100,
        ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
        TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate,
        PageNumbers = new int[] {1, 3}
    };
    // PDF 形式用のレンダリング デバイスを作成する
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

このコード スニペットは、複数のページを含む XPS ドキュメントを入力ファイルとして使用します。一方、コード スニペットで指定されているように、ページ番号 1 と 3 のみが PDF に変換されます。次のスクリーンショットは、PDF ドキュメントとしてレンダリングされた 2 ページを示しています。

XPSからPDFへ

C# の OXPS から PDF へのコンバーター

OXPS 形式は、XPS ファイル形式の更新された高度な形式です。ただし、そのようなファイルは一部の古いオペレーティング システムではサポートされていません。以下の手順に従って、OXPS ドキュメントを PDF 形式に簡単に変換できます。

  1. OXPS 入力ストリームを初期化します。
  2. ストリームから OXPS ファイルを読み込みます。
  3. PdfSaveOptions クラスのオブジェクトをインスタンス化します。
  4. OXPS を PDF ファイルにエクスポート

次のコード サンプルは、C# で OXPS を PDF に変換する方法を示しています。

// PDF 出力ストリームを初期化する
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// OXPS入力ストリームの初期化
//using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.oxps", System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.oxps", System.IO.FileMode.Open))
{
// OXPS ドキュメントをストリームからロードします
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// または、OXPS ドキュメントをファイルから直接ロードします。その場合、xpsStream は必要ありません。
// XpsDocument ドキュメント = new XpsDocument(inputFileName, new XpsLoadOptions());

// 必要なパラメータを使用してオプション オブジェクトを初期化します。
Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
{
    JpegQualityLevel = 100,
    ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
    TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate,
};
// PDF 形式用のレンダリング デバイスを作成する
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

C# で OXPS の特定のページを PDF に変換する

同様に、以下の手順に従って、特定のページを OXPS ドキュメントから PDF 形式に変換することもできます。

  1. OXPS ファイルをロードする
  2. PdfSaveOptions オブジェクトを宣言します。
  3. 変換したいページ番号を設定します。
  4. OXPS を PDF にレンダリングします。

次のコード スニペットは、C# で OXPS の特定のページを PDF に変換する方法を示しています。コード スニペットで説明したように、OXPS ファイルの最初のページが PDF に変換されます。

// PDF出力ストリームを初期化する
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// OXPS入力ストリームの初期化
//using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.oxps", System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.oxps", System.IO.FileMode.Open))
{
    // OXPS ドキュメントをストリームからロードします
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // または、XPS ドキュメントをファイルから直接ロードします。その場合、xpsStream は必要ありません。
    // XpsDocument ドキュメント = new XpsDocument(inputFileName, new XpsLoadOptions());

    // 必要なパラメータを使用してオプション オブジェクトを初期化します。
    Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
    {
        JpegQualityLevel = 100,
        ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
        TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate,
        PageNumbers = new int[] {1}
    };
    // PDF 形式用のレンダリング デバイスを作成する
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

無料ライセンスを取得する

無料の一時ライセンスを取得して、評価制限なしでライブラリをテストできます。

オンラインでXPSファイルをPDFに変換

この 無料の XPS to PDF コンバーター アプリを使用すると、ソフトウェアやプラグインをインストールせずに、XPS ファイルをオンラインで PDF に変換することもできます。

XPS ドキュメントを PDF に変換する - 学習リソース

XPS または OXPS ドキュメントを PDF 形式に変換するだけでなく、以下のリソースを使用してライブラリの詳細を確認し、他のさまざまな機能を探索してください。

結論

この記事では、C# を使用してプログラムで XPS を PDF に変換し、OXPS を PDF に変換する方法を学習しました。 XPS または OXPS ドキュメントの特定のページを PDF 形式にエクスポートする方法についても説明しました。 API をさらに詳しく調べて、ドキュメント処理ワークフローを最適化できます。不明な点がある場合は、無料サポート フォーラムまでお気軽にお問い合わせください。

関連項目