There are two different ways that this can be done depending on your exact requirements. I’ve included details of two different scenarios below as well as some sample code.

Scenario #1: You want to extract various pages from an existing document (original.pdf) and create a new document (extracted_pages.pdf) that only consists of the extracted pages.

// Load a PDF that you wish to extract pages from.
QP.LoadFromFile("original.pdf");
 
// Extract Pages 2,4 and 6 from the "oiginal.pdf" file.
// You can also use the ExtractFilePages function. The extracted
// pages will automatically be added to a new document in memory.
if (QP.ExtractPageRanges("2,4,6") == 1)
{
// The new document that was created from the 
// extracted pages has automatically been selected 
// by the previous function, so all you need to do 
// now is save the new document to a new fie 
// on the disk.
QP.SaveToFile("ExtractedPages.pdf");
}

// Extract Pages 2,4 and 6 from the "oiginal.pdf" file.
// You can also use the ExtractFilePages function. The extracted
// pages will automatically be added to a new document in memory.
if (QP.ExtractPageRanges("2,4,6") == 1)
{
// The new document that was created from the
// extracted pages has automatically been selected
// by the previous function, so all you need to do
// now is save the new document to a new fie
// on the disk.
QP.SaveToFile("ExtractedPages.pdf");
}

Scenario #2: You want to extract various pages from an existing document (original.pdf) and insert these pages into a existing document (existing.pdf) at a specific location.

// Load the document that you will extract the pages from
QP.LoadFromFile("source.pdf");
 
// Get the ID for this document
int DocID1 = QP.SelectedDocument();
 
// Load the document that you will insert the extracted pages into
QP.LoadFromFile("destination.pdf");
 
// Get the ID for this document
int DocID2 = QP.SelectedDocument();
 
// Count the number of pages in the destination document
int tPages2 = QP.PageCount();
 
// Copy pages 2,4 and 6 from source document to the destination document
QP.CopyPageRanges(DocID1, "2,4,6");
 
// Again count the number of pages in the destination document
int tPages1 = qp.PageCount();
 
// Get the total number of pages added to the destination document
int tPages3 = tPages1 - tPages2;
 
// Specify the page number that the new pages should be inserted at
int NewPagePos = 2;
 
// Loop through each insert page and move it to the correct location
while (tPages3 > 0)
{
// We always move the last page
// in the document until all
// insert pages have been moved.
QP.SelectPage(QP.PageCount());
QP.MovePage(NewPagePos);
 
// Increase location of next page. So if
// first page is inserted at page number 2,
// then next page will be inserted at page number 3
NewPagePos++;
 
// Decrease number of pages left to process
tPages3--;
}
// Save updated destination document to disk
QP.SaveToFile("destination_updated.pdf");

// Get the ID for this document
int DocID1 = QP.SelectedDocument();

// Load the document that you will insert the extracted pages into
QP.LoadFromFile("destination.pdf");

// Get the ID for this document
int DocID2 = QP.SelectedDocument();

// Count the number of pages in the destination document
int tPages2 = QP.PageCount();

// Copy pages 2,4 and 6 from source document to the destination document
QP.CopyPageRanges(DocID1, "2,4,6");

// Again count the number of pages in the destination document
int tPages1 = qp.PageCount();

// Get the total number of pages added to the destination document
int tPages3 = tPages1 - tPages2;

// Specify the page number that the new pages should be inserted at
int NewPagePos = 2;

// Loop through each insert page and move it to the correct location
while (tPages3 > 0)
{
// We always move the last page
// in the document until all
// insert pages have been moved.
QP.SelectPage(QP.PageCount());
QP.MovePage(NewPagePos);

// Increase location of next page. So if
// first page is inserted at page number 2,
// then next page will be inserted at page number 3
NewPagePos++;

// Decrease number of pages left to process
tPages3--;
}
// Save updated destination document to disk
QP.SaveToFile("destination_updated.pdf");