XPS (Open XML Paper Supplement) および OXPS (OpenXPS) は固定ページ文書を表します。 XPS ドキュメントは、元のドキュメントのレイアウトと書式設定を保持するという点で PDF ドキュメントに似ています。ただし、XPS ドキュメントは PDF ドキュメントほど広くサポートされていません。 PDF (Portable Document Format) ドキュメントは、さまざまなプラットフォームやデバイスで広くサポートされています。この記事では、C# で XPS または OXPS を PDF に変換する方法を説明します。
この記事では次のトピックについて説明します。
- XPS を PDF に変換するための C# API
- C# を使用して XPS を PDF に変換
- XPSの特定ページをPDFに変換
- C# での OXPS から PDF へのコンバーター
- OXPSの特定ページをPDFに変換
- XPS ファイルをオンラインで PDF に変換
- 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 形式に変換できます。
- 入力 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 ドキュメント = 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 形式に変換することもできます。
- 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 ドキュメント = 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 ページを示しています。
C# の OXPS から PDF へのコンバーター
OXPS 形式は、XPS ファイル形式の更新された高度な形式です。ただし、そのようなファイルは一部の古いオペレーティング システムではサポートされていません。以下の手順に従って、OXPS ドキュメントを PDF 形式に簡単に変換できます。
- OXPS 入力ストリームを初期化します。
- ストリームから OXPS ファイルを読み込みます。
- PdfSaveOptions クラスのオブジェクトをインスタンス化します。
- 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 形式に変換することもできます。
- 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 ドキュメント = 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 をさらに詳しく調べて、ドキュメント処理ワークフローを最適化できます。不明な点がある場合は、無料サポート フォーラムまでお気軽にお問い合わせください。