Merge XPS via C++

Merge XPS documents. Use Aspose.PDF for C++ to modify XPS files programmatically

Merge XPS files Using C++

In order to merge XPS file, we’ll use Aspose.PDF for C++ API which is a feature-rich, powerful, and easy-to-use document manipulation API for cpp platform. A peculiar feature of Aspose.PDF is an API for combining XPS. The trait of this approach is that you only need to open the NuGet, search for Aspose.PDF, and install it without any special complex settings. Our C++ Library can convert a document from any supported download format to any supported save format. Aspose.PDF for C++ library provides fairly universal solutions that will help you solve the tasks of converting documents. Aspose.PDF supports the largest number of popular document formats, both for loading and saving. Draw your attention that the current section describes only popular conversions. The current page provides information about converting format to format. However, there are many combinations for converting your files. For a complete list of supported formats, see the section Supported File Formats. Check the details of Installing the Library on the Documentation pages. You may also use the following command from the Package Manager Console.

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

How to Merge XPS files via C++


You need Aspose.PDF for C++ to try the code in your environment.

  1. Open first document.
  2. Open second document.
  3. Add pages of second document to the first.
  4. Save concatenated output file

C++ - example code to merge XPS file

Input file:

File not added

File not added

Output format:

Output file:

    String _dataDir("C:\\Samples\\");
    String infilename1("File1.xps");
    String infilename2("File2.xps");
    String outputFileName("ConcatenatePdfFiles.pdf");

    // Instantiate Document Object
    auto options = MakeObject<XpsLoadOptions>();
    auto document1 = MakeObject<Document>(_dataDir + infilename1, options);
    auto document2 = MakeObject<Document>(_dataDir + infilename2, options);

    // Add pages of second document to the first
    document1->get_Pages()->Add(document2->get_Pages());

    // Save concatenated output file
    document1->Save(_dataDir+outputFileName);