Trying to crop a couple of PDF pages and merge them into a single role style page. I need to remove the heather and the footer of each page and create a role style single page
import PyPDF2
from PyPDF2 import PdfFileReader, PdfFileWriter
from PyPDF2.pdf import PageObject
reader = PdfFileReader('/Users/kic/Desktop/test.pdf','r')
writer = PdfFileWriter()
### find Total Height of file ###
numpages = reader.getNumPages() ## get number of pages
Height = reader.getPage(0).mediaBox.getHeight() ## get height of title page
Height = Height + 482 * (reader.getNumPages()-2) ## add number of height crop pages
### create new single role page ###
Single_page = PageObject.createBlankPage(None, reader.getPage(0).mediaBox.getWidth(), Height)
### add first title page without croping ###
Single_page.mergeTranslatedPage(reader.getPage(0),0,Height-reader.getPage(0).mediaBox.getHeight(),False)
### loop through all pages from page 2 until last page ###
n=1
for i in range(reader.getNumPages()-1):
i=n
page = reader.getPage(i)
page.cropBox.setUpperLeft((0,556))
page.cropBox.setUpperRight((page.mediaBox.getWidth(),556))
page.cropBox.setLowerLeft((0,74))
page.cropBox.setLowerRight((page.mediaBox.getWidth(),74))
Single_page.mergeTranslatedPage(page,0,482*(numpages-1-n),False)
#writer.addPage(page) ##to see the result of the cropped pages without merging
n = n+1
writer.addPage(Single_page)
output = open('/Users/kic/Desktop/testrcrop.pdf','wb')
writer.write(output)
output.close()
for some reason it is not cropping, its merging the pages into 1 page, but the heather and footer go on top of each other. However if I don't merge into 1 page and just write the cropped pages into a PDF file with several pages they show up cropped.