Extract pages from a PDF in C#
Extracting pages is the process of selecting pages from a source document and then saving the selected pages in a new document.
Extract pages from multipage files of the following formats:
Extracting pages from a PDF
The code below extracts pages from a multipage PDF file to a multipage output PDF file using the ClonePages
method:
using GdPicturePDF gdpicturePDF = new GdPicturePDF();using GdPicturePDF gdpictureDestPDF = new GdPicturePDF();gdpicturePDF.LoadFromFile(@"C:\temp\source.pdf");gdpictureDestPDF.NewPDF();// Extract specified pages to the output file.gdpictureDestPDF.ClonePages(gdpicturePDF, "2-3;5");gdpictureDestPDF.SaveToFile(@"C:\temp\output.pdf");
Using gdpicturePDF As GdPicturePDF = New GdPicturePDF()Using gdpictureDestPDF As GdPicturePDF = New GdPicturePDF() gdpicturePDF.LoadFromFile("C:\temp\source.pdf") gdpictureDestPDF.NewPDF() ' Extract specified pages to the output file. gdpictureDestPDF.ClonePages(gdpicturePDF, "2-3;5") gdpictureDestPDF.SaveToFile("C:\temp\output.pdf")End UsingEnd Using
To ensure your program executes correctly, check the status of the used methods with the GetStat
method.
Used methods
Related topics
Extracting pages from a TIFF
The code below extracts pages from a multipage TIFF file to a multipage output TIFF file using the TiffExtractPage
method. Each page is extracted separately:
using GdPictureImaging gdpictureImaging = new GdPictureImaging();int sourceImageID;int outputID = 0;int imageID;string source = @"C:\temp\source.tif", output = @"C:\temp\output.tif";sourceImageID = gdpictureImaging.CreateGdPictureImageFromFile(source);// Set the page numbers you want to extract.int[] pages = { 1, 3, 5 };bool firstPage = true;foreach (int page in pages){ Stream pStream = new MemoryStream(); gdpictureImaging.TiffExtractPage(sourceImageID, page, pStream); imageID = gdpictureImaging.CreateGdPictureImageFromStream(pStream); if (firstPage) { // If it's the first image, create a new multipage TIFF file. gdpictureImaging.TiffSaveAsMultiPageFile(outputID, output, TiffCompression.TiffCompressionAUTO); outputID = imageID; firstPage = false; } else { // If it's the second or later image, add to the previously created multipage TIFF file. gdpictureImaging.TiffAddToMultiPageFile(outputID, imageID); gdpictureImaging.ReleaseGdPictureImage(imageID); };}gdpictureImaging.TiffCloseMultiPageFile(outputID);gdpictureImaging.ReleaseGdPictureImage(outputID);gdpictureImaging.ReleaseGdPictureImage(sourceImageID);
Using gdpictureImaging As GdPictureImaging = New GdPictureImaging()Dim sourceImageID As IntegerDim outputID = 0Dim imageID As IntegerDim source = "C:\temp\source.tif", output = "C:\temp\output.tif"sourceImageID = gdpictureImaging.CreateGdPictureImageFromFile(source)' Set the page numbers you want to extract.Dim pages = {1, 3, 5}Dim firstPage = TrueFor each page In pages Dim pStream As Stream = New MemoryStream() gdpictureImaging.TiffExtractPage(sourceImageID, page, pStream) imageID = gdpictureImaging.CreateGdPictureImageFromStream(pStream) If firstPage Then ' If it's the first image, create a new multipage TIFF file. gdpictureImaging.TiffSaveAsMultiPageFile(outputID, output, TiffCompression.TiffCompressionAUTO) outputID = imageID firstPage = False Else ' If it's the second or later image, add to the previously created multipage TIFF file. gdpictureImaging.TiffAddToMultiPageFile(outputID, imageID) gdpictureImaging.ReleaseGdPictureImage(imageID) End IfNextgdpictureImaging.TiffCloseMultiPageFile(outputID)gdpictureImaging.ReleaseGdPictureImage(outputID)gdpictureImaging.ReleaseGdPictureImage(sourceImageID)End Using
To ensure your program executes correctly, check the status of the used methods with the GetStat
method.
Used methods
Related topics