ImageGear for C and C++ on Windows v21.0 - Updated
User Guide / How to Work with ... / Formats with Additional Functionality / PDF / How to... / Split a PDF Document
In This Topic
    Split a PDF Document
    In This Topic

    Before working with a PDF document, make sure to initialize the PDF component (see Getting Started with PDF).

    This section illustrates how to split a multi-page PDF into separate 1-page PDFs.

    Refer to the SplitPDF Sample for complete sample code that illustrates how to use this capability.

    The following code snippet loads all pages from a PDF document from disk to a multi-page vector document HMIGEAR:

    C and C++
    Copy Code
       HMIGEAR document = 0;
       IG_mpi_create(&document, 0);
       IG_mpi_file_open((LPSTR)fileIn.c_str(), document, IG_FORMAT_PDF, IG_MP_OPENMODE_READONLY);
    

    Next, we save each page as its own PDF document:

    C and C++
    Copy Code
       UINT pageCount;
       // Where to insert a page if saveMode is IG_MPI_SAVE_APPEND. -1 appends at the end.
       UINT insertIndex = -1;
       UINT pagesPerNewPDF = 1;
       char fileName[12];
       unsigned int i = 0;
       // Get the number of pages in the document.
       IG_mpi_page_count_get(document, &pageCount);
       // Iterate through each page.
       for (i = 0; i < pageCount; i++)
       {
           // Create filename based on page number.
           snprintf(fileName, 12, "page%03d.pdf", i);
           // Save each page.
           IG_mpi_file_save(fileName, document, insertIndex, i, pagesPerNewPDF, IG_FORMAT_PDF, IG_MPI_SAVE_OVERWRITE);
       }