GroupDocs.Redaction allows to easily to remove pages from PDF documents, slides from presentations and worksheets from spreadsheet documents.
With GroupDocs.Redaction API you can remove pages by specifying the page range by means of its relative position (the beginning or the end), zero-based index and the count of pages to remove. At this time the supported formats are: PDF, presentations (Microsoft PowerPoint, OpenOffice Presentations), word processing documents (Microsoft Word, OpenOffice Texts, Rich Text Files), spreadsheets (Microsoft Excel, OpenOffice Spreadsheets, etc.) and multi-frame images.
Remove page range
In the example below, we remove 2nd, 3rd and 4th pages from the document, if the document has enough pages:
fromgroupdocs.redactionimportRedactorfromgroupdocs.redaction.optionsimportSaveOptionsfromgroupdocs.redaction.redactionsimportRemovePageRedaction,PageSeekOrigindefremove_page_range():# Load the document to be redactedwithRedactor("./multipage_sample.pdf")asredactor:# Get document infodoc_info=redactor.get_document_info()# Requires at least 4 pagesifdoc_info.page_count>3:# Remove 3 pages starting from the 2nd one (zero-based index 1)rem_opt=RemovePageRedaction(PageSeekOrigin.BEGIN,1,3)# Apply the redactionresult=redactor.apply(rem_opt)# Save the redacted document next to the source fileso=SaveOptions()so.add_suffix=Trueso.rasterize_to_pdf=Falseso.redacted_file_suffix="redacted"redactor.save(so)if__name__=="__main__":remove_page_range()
multipage_sample.pdf is the sample file used in this example. Click here to download it.
Remove last page
In some cases you might need to delete the last page or a number of pages, no matter how many pages are there.
The following example demonstrates how to remove the last page from a document:
fromgroupdocs.redactionimportRedactorfromgroupdocs.redaction.optionsimportSaveOptionsfromgroupdocs.redaction.redactionsimportRemovePageRedaction,PageSeekOrigindefremove_last_page():# Remove 1 page counting from the end of the documentrem_opt=RemovePageRedaction(PageSeekOrigin.END,0,1)# Load the document to be redactedwithRedactor("./multipage_sample.pdf")asredactor:# Get document infodoc_info=redactor.get_document_info()# Requires at least 2 pages so the document is not left emptyifdoc_info.page_count>1:# Apply the redactionresult=redactor.apply(rem_opt)# Save the redacted document next to the source fileso=SaveOptions()so.add_suffix=Trueso.rasterize_to_pdf=Falseso.redacted_file_suffix="redacted"redactor.save(so)if__name__=="__main__":remove_last_page()
multipage_sample.pdf is the sample file used in this example. Click here to download it.
In case of a multi-frame image you might need to delete a number of frames (treated as “pages”).
The following example demonstrates how to remove 3 frames from an animated GIF image:
fromgroupdocs.redactionimportRedactorfromgroupdocs.redaction.optionsimportSaveOptionsfromgroupdocs.redaction.redactionsimportRemovePageRedaction,PageSeekOrigindefremove_frame_from_image():# Remove frames starting from the 3rd one (zero-based index 2)rem_opt=RemovePageRedaction(PageSeekOrigin.BEGIN,2,5)# Load the multi-frame image to be redactedwithRedactor("./sample.gif")asredactor:# Get document infodoc_info=redactor.get_document_info()# Requires at least 7 framesifdoc_info.page_count>=7:# Apply the redactionresult=redactor.apply(rem_opt)# Save the redacted image next to the source fileso=SaveOptions()so.add_suffix=Trueso.rasterize_to_pdf=Falseso.redacted_file_suffix="redacted"redactor.save(so)if__name__=="__main__":remove_frame_from_image()
sample.gif is the sample file used in this example. Click here to download it.