XPSファイルは、ページレイアウトを表すXMLPaperSpecificationsに基づいています。外観と印刷レイアウトに関する情報が含まれています。データをさらに処理するために、複数のXPSファイルをマージしたい場合があります。このような要件に従って、この記事では、C#でプログラムによってXPSファイルをマージする方法について説明します。
- XPSファイルの結合またはマージ– C#APIのインストール
- XPSファイルをC#でプログラム的にXPS形式にマージする
- XPSファイルをC#でプログラム的にマージする
- XPSファイルをC#の詳細オプションとマージする
XPSファイルの結合またはマージ– C#APIのインストール
Aspose.Page for .NET APIは、数回のAPI呼び出しのみが必要な高コードファイル形式のAPIです。 APIにアクセスするには、ダウンロードセクションからDLLファイルをダウンロードするか、次のNuGetインストールコマンドを使用します。
PM> Install-Package Aspose.Page
XPSファイルをC#でプログラム的にXPS形式にマージする
次の手順で、さまざまなXPSファイルを単一のXPSドキュメントにマージできます。
- 入力XPSファイルをロードします。
- 結合する他のXPSファイルを指定します。
- ファイルを1つのXPSファイルにまとめて追加します。
以下のコードスニペットは、複数のXPSファイルをC#の単一のXPSドキュメントにマージします。
// XPS出力ストリームを初期化します
using (System.IO.Stream outStream = System.IO.File.Open("mergedXPSfiles.xps", System.IO.FileMode.Create, System.IO.FileAccess.Write))
{
// XPSドキュメントを読み込む
XpsDocument document = new XpsDocument("input.xps", new XpsLoadOptions());
// 最初のファイルとマージされるXPSファイルの配列を作成します
string[] filesToMerge = new string[] { "input2.xps", "input3.xps" };
// XPSファイルをマージしてXPSドキュメントを出力する
document.Merge(filesToMerge, outStream);
}
XPSファイルをC#でプログラム的にマージする
以下の手順に従って、複数のXPSファイルを1つのファイルにマージできます。
- XPSファイルをロードして、他のファイルを追加します。
- 出力ファイルのレンダリングデバイスを作成します。
- マージするXPSファイルの配列を作成します。
- XPSファイルをマージし、出力をPDF形式で保存します。
次のコードは、XPSファイルをマージし、出力をプログラムでC#でPDF形式で保存する方法を示しています。
// PDF出力ストリームを初期化します
using (Stream pdfStream = File.Open("mergedXPSfiles.pdf", FileMode.Create, FileAccess.Write))
// XPS入力ストリームを初期化します
using (Stream xpsStream = File.Open("input.xps", FileMode.Open, FileAccess.Read))
{
// ストリームから最初のXPSドキュメントをロードします
XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
// PDF形式のレンダリングデバイスを作成する
PdfDevice device = new PdfDevice(pdfStream);
// 最初のファイルとマージされるXPSファイルの配列を作成します
string[] filesToMerge = new string[] { "input2.xps", "input3.xps" };
// XPSファイルをマージしてPDFドキュメントを出力する
document.Merge(filesToMerge, device, new PdfSaveOptions());
}
XPSファイルをC#の詳細オプションとマージする
さまざまなプロパティを指定して、XPSマージプロセスを即興で行うことができます。たとえば、次の手順に従って、出力ファイルの画像またはテキストの圧縮、暗号化、特権などを設定できます。
- 入力XPSファイルをロードしてファイルをマージします。
- PdfSaveOptionsクラスオブジェクトを初期化します。
- ファイルをマージするためのレンダリングデバイスと配列を作成します。
- XPSファイルをマージし、結果をPDFとして保存します。
次のコードスニペットは、C#でXPSファイルをマージする方法を示しています。
// PDF出力ストリームを初期化します
using (Stream pdfStream = File.Open("mergedXPSfiles.pdf", FileMode.Create, FileAccess.Write))
// XPS入力ストリームを初期化します
using (Stream xpsStream = File.Open("input.xps", FileMode.Open, FileAccess.Read))
{
// ストリームから最初のXPSドキュメントをロードします
XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
// オプションオブジェクトを必要なパラメータで初期化します。
PdfSaveOptions options = new PdfSaveOptions()
{
JpegQualityLevel = 100,
ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate
};
// PDF形式のレンダリングデバイスを作成する
PdfDevice device = new PdfDevice(pdfStream);
// 最初のファイルとマージされるXPSファイルの配列を作成します
string[] filesToMerge = new string[] { "input2.xps", "input3.xps" };
// XPSファイルをマージしてPDFドキュメントを出力する
document.Merge(filesToMerge, device, options);
}
無料の一時ライセンスを取得する
無料の一時ライセンスをリクエストして、制限なしでAPIを評価できます。
オンラインデモ
XPS Merging Webアプリを試して、ファイル結合機能を確認してください。
結論
この記事では、C#でXPSファイルをプログラムでマージする方法について説明しました。質問について話し合う必要がある場合は、フォーラムまでご連絡ください。