XPSドキュメントをXPSおよびPDFに結合

複数のXPSファイルを組み合わせるための.NET APIソリューション

 

XPSは1つのファイルに複数のドキュメントを保持できるほか、XPSドキュメントには複数のページを含めることができます。Aspose.Page APIソリューションが提供する結合機能は、いくつかのファイルを1つに組み合わせることができるように開発されています。その結果、結合されたすべてのファイルの内容を含むXPSまたはPDFファイルが得られます。ここでは、C# .NETでXPSを結合する方法のコード例を確認できます。このような機能がWebソリューションにどのように実装されるかを確認したり、オンラインでファイルを結合したりするには、 XPS Merger をお試しください。

XPSファイルを結合するには、以下が必要です:

  • C#プラットフォーム向けの機能豊富で強力、かつ使いやすいドキュメント操作および変換APIであるAspose.Page for .NET API。

  • NuGetパッケージマネージャーを開き、Aspose.Pageを検索してインストールします。パッケージマネージャーコンソールから次のコマンドを使用することもできます。

Package Manager Console Command


    PM> Install-Package Aspose.Page

C# .NETを使用して複数のXPSファイルを1つに結合する手順。

  1. ドキュメントディレクトリへのパスを設定します。
  2. XPS出力ストリームを初期化します。
  3. XPSファイル入力ストリームを初期化します。
  4. XpsDocumentクラス を使用してストリームからXPSドキュメントをロードするか、ファイルから直接ロードします。この場合、xpsStreamは不要です。
  5. 最初のファイルと結合するXPSファイルの配列を作成します。
  6. XPSファイルを結合して出力XPSドキュメントにします。

XPSをXPSに結合するC#コード

    using Aspose.Page.XPS;
    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithDocumentMerging();
    // Load XPS document from XPS file
    XpsDocument document = new XpsDocument(dataDir + "input.xps", new XpsLoadOptions());

    // Create an array of XPS files that will be merged with the first one
    string[] filesToMerge = new string[] { dataDir + "Demo.xps", dataDir + "sample.xps" };

    // Merge XPS files to output XPS document
    document.Merge(filesToMerge, dataDir + "mergedXPSfiles.xps");
    }

C# .NETを使用して複数のXPSをPDFに結合する手順。

  1. ドキュメントディレクトリへのパスを設定します。
  2. PDF出力ストリームを初期化します。
  3. XPSファイル入力ストリームを初期化します。
  4. XpsDocumentクラスを使用してストリームからXPSドキュメントをロードするか、ファイルから直接ロードします。この場合、xpsStreamは不要です。
  5. PdfSaveOptions クラスを使用して、出力ファイルに必要なパラメーターでオプションオブジェクトを初期化します。
  6. PdfDevice クラスを使用して、PDF形式のレンダリングデバイスを作成します。
  7. 最初のファイルと結合するXPSファイルの配列を作成します。
  8. XPSファイルを結合して出力XPSドキュメントにします。

XPSをPDFに結合するC#

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithDocumentMerging();
    // Initialize the PDF output stream
    using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "mergedXPSfiles.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
    // Initialize the XPS input stream
    using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.xps", System.IO.FileMode.Open))
    {
        // Load the XPS document form the stream
        XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
        // or load it directly from a file. No xpsStream is needed then.
        // XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());

        // Initialize options object with the necessary parameters.
        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
        };

        // Create a rendering device for the PDF format
        Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

        // Create an array of XPS files that will be merged with the first one
        string[] filesToMerge = new string[] { dataDir + "Demo.xps", dataDir + "sample.xps" };

        // Merge XPS files to the output PDF document
        document.Merge(filesToMerge, device, options);
    }



よくある質問

1. XPS ファイルを結合するにはどうすればよいですか?

ドキュメント ディレクトリへのパスを設定し、出力ストリームと入力ストリームを初期化します。ストリームまたはファイルから XPS ファイルをロードし、それらを結合します。 XPS ファイルをオンラインでマージしたい場合は、無料のクロスプラットフォーム XPS Merger を使用してください。

2. どのような出力形式がサポートされていますか?

Aspose.Page ソリューションでは、XPS ファイルを 1 つの XPS ファイルまたは PDF ファイルに結合できるようになりました。

3. 機能は無料ですか?

クロスプラットフォーム マージャーは無料です。API ソリューションの場合は、無料トライアルを取得して、必要に応じて製品を購入できます。

XPS XPS ファイル形式とは

XPS (XML Paper Specification) は、Microsoft が提供する PDF の代替フォーマットです。XML/HTML ベースで、プラットフォームに依存せずレイアウトを保持します。