Merge PDF via C++

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

Merge PDF files Using C++

In order to merge PDF 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 PDF. 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 PDF 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 PDF file

Input file:

File not added

File not added

Output format:

Output file:

    // String for path name
    String _dataDir("C:\\Samples\\");

    // String for input file name
    String pdfDocumentFileName1("Concat1.pdf");
    String pdfDocumentFileName2("Concat2.pdf");
    String outputFileName("ConcatenatePdfFiles.pdf");

    // Open document
    auto pdfDocument1 = MakeObject<Document>(_dataDir + pdfDocumentFileName1);
    auto pdfDocument2 = MakeObject<Document>(_dataDir + pdfDocumentFileName2);

    // Add pages of second document to the first
    pdfDocument1->get_Pages()->Add(pdfDocument2->get_Pages());

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