
XPSおよびOXPSファイルは、解像度に依存しないため、印刷に頻繁に使用されます。ただし、XPSをPDFに、またはOXPSをPDFに変換する必要がある場合があります。 Aspose.Page for .NET APIを使用すると、これらの変換を忠実かつ迅速に実行できます。次のユースケースを調べてみましょう。
C#を使用してプログラムでXPSをPDFに変換する
XPSからPDFへの変換は、Aspose.Page for.NET APIを使用すると簡単です。 XPSファイル変換を実行するための次のアプローチを学習します。
i)C#でXPSの特定のページをPDFに変換する
XPSドキュメントの選択したページをPDFに変換するには、以下の手順に従ってください。
- XPS入力ストリームを初期化します
- ストリームからXPSドキュメントをロードする
- PdfSaveOptionsオブジェクトを初期化します
- 変換するページ番号を指定する
- ドキュメントを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 document = 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ページを示しています。

ii)C#でXPSのすべてのページをPDFに変換する
XPSファイル全体をPDFに変換できます。以下の手順に従うと、XPSファイルのすべてのページがPDFファイルに変換されます。
- 入力XPSファイルをロードする
- 必要なパラメータを使用してオプションオブジェクトを初期化します
- レンダリング用のPdfDeviceのインスタンスを作成します
- 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 document = 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形式は、XPSファイル形式の更新された高度な形式です。ただし、このようなファイルは、一部の古いオペレーティングシステムではサポートされていません。 Aspose.Page for .NET APIは、OXPSファイルも変換できます。次の使用シナリオの学習に進みましょう。
i)OXPSの一部のページをC#でPDFに変換する
OXPSファイルには多くのページが含まれている場合があり、以下の手順に従って、任意の数のページをPDFに変換できます。
- OXPSファイルをロードする
- PdfSaveOptionsオブジェクトを宣言します
- 変換するページ番号を設定します
- 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 document = 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);
}
ii)OXPSのすべてのページをC#でPDFに変換する
OXPSのすべてのページの変換は簡単で、上記で検討した例に関連しています。以下の手順に従って、OXPSファイルのすべてのページを単一のPDFドキュメントに変換しましょう。
- OXPS入力ストリームを初期化します
- ストリームからOXPSファイルをロードします
- PdfSaveOptionsクラスのオブジェクトをインスタンス化します
- OXPSをPDFファイルにエクスポート
以下のコードスニペットは、これらの手順を1つずつ実行し、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 document = 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に、OXPSをPDFに変換する方法を学習しました。 C#のコード例とスクリーンショットを使用して、忠実度が高く、効率的で、迅速なファイル形式変換について学習しました。 APIドキュメントおよびAPIリファレンスを使用して、Aspose.Page for .NETAPIをさらに詳しく調べることができます。また、無料サポートフォーラムでお気軽にお問い合わせください。