I have some .pdf files with more than 500 pages, but I need only a few pages in each file. It is necessary to preserve document`s title pages. I know exactly the numbers of the
Use pyPDF2:
https://github.com/mstamy2/PyPDF2
Documentation is at:
https://pythonhosted.org/PyPDF2/
It seems pretty intuitive.
Try using PyPDF2.
Instead of deleting pages, create a new document and add all pages which you don't want to delete.
Some sample code (originally adapted from BinPress which is dead, archived here).
from PyPDF2 import PdfFileWriter, PdfFileReader
pages_to_keep = [1, 2, 10] # page numbering starts from 0
infile = PdfFileReader('source.pdf', 'rb')
output = PdfFileWriter()
for i in pages_to_keep:
p = infile.getPage(i)
output.addPage(p)
with open('newfile.pdf', 'wb') as f:
output.write(f)
or
from PyPDF2 import PdfFileWriter, PdfFileReader
pages_to_delete = [3, 4, 5] # page numbering starts from 0
infile = PdfFileReader('source.pdf', 'rb')
output = PdfFileWriter()
for i in range(infile.getNumPages()):
if i not in pages_to_delete:
p = infile.getPage(i)
output.addPage(p)
with open('newfile.pdf', 'wb') as f:
output.write(f)