I am merging units of information(.PDF) into a sigle PDF. I have a lot of variables whithin a lot of filters (you can select just one of each filter) that need to be used in order to define the complete manual, look : Manual Generator in portuguese My major problem is basically add a page number to the PDF while its merging itself, i was using the code here and here, but unsuccessfully The simplified code i am using is: from PyPDF2 import PdfFileWriter, PdfFileReader import io from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import A4 print(var1.get(), var2.get(), var3.get(), var4.get(), var5.get(), var6.get()) merger.append(Modelo) #filter one merger.append(Escada) #filter two output = open('ModeloMerg.pdf', 'wb') merger.write(output) pdf = PdfFileReader('ModeloMerg.pdf') packet = io.BytesIO() can = canvas.Canvas(packet, pagesize=A4) can.drawString(10, 100, "Page" + str(15)) #just a random test number can.save() packet.seek(0) watermark = PdfFileReader(packet) watermark_page = watermark.getPage(0) for page in range(pdf.getNumPages()): pdf_page = pdf.getPage(page) pdf_page.mergePage(watermark_page) pdf_writer.addPage(pdf_page) with open('out.pdf', 'wb') as fh: pdf_writer.write(fh) Continue reading...