def frasers2up(inputPdfFileWriter): edited_file = Pdfwrite() blank_file = Pdfwrite() leftpage = inputPdfFileWriter.getPage(0) leftx = leftpage.mediaBox.upperRight[0] lefty = leftpage.mediaBox.upperRight[1] for page in range(0, inputPdfFileWriter.getNumPages() - 1, 2): leftpage = inputPdfFileWriter.getPage(page) rightpage = inputPdfFileWriter.getPage(page + 1) leftx = leftpage.mediaBox.upperRight[0] lefty = leftpage.mediaBox.upperRight[1] blank_file.insertBlankPage(leftx, lefty, 0) blank_page = blank_file.getPage(0) blank_page.mergeTranslatedPage(rightpage, leftx, 0, 1) blank_page.mergePage(leftpage) edited_file.addPage(blank_page) # leftpage, leftx, 0, True) return edited_file
def encrypt_single_pdf(input_file, output_file, password): """Encrypt single pdf as another file Args: input_file: input file path name output_file: output file path name password: password used when encryption Return: None """ with open(input_file, 'rb') as input_stream: reader = PdfFileReader(input_stream) writer = PdfFileWriter() #writer.appendPagesFromReader(reader) for page in range(reader.getNumPages()): writer.addPage(reader.getPage(page)) writer.encrypt(password) for page in range(reader.getNumPages()): a = writer.getPage(page) #a.scaleTo(480, 270) with open(output_file, 'wb') as output_stream: writer.write(output_stream)
def process_the_pdf(): confirm = tk.messagebox.askyesno("Doing the thing", "Are you sure you want to do the thing?") if confirm == True: try: pdf = Pdfread(pdf_path.get()) wf = Pdfwrite() wf.appendPagesFromReader(pdf) for i in range(blank_start.get()): wf.insertBlankPage(0) for i in range(end_blank_pages.get()): wf.addBlankPage() # ! --> here's where the shuffle goes, pos save temp pdf here? list_pages = [] for i in range(wf.getNumPages()): list_pages.append(i) list_sigs_pages = [] for group in chunker(list_pages, sig_thickness_x4.get()): list_sigs_pages.append(group) newpageorder = shufoutput(list_sigs_pages) newpdf = Pdfwrite() for page in newpageorder: newpdf.addPage(wf.getPage(page)) temp = Pdfwrite() # up2 = turninto2up(newpdf) temp = newpdf destpath = pdf_output_path.get() with open(destpath, 'wb+') as out: temp.write(out) up2in = Pdfread(destpath) up2 = Pdfwrite() for i in range(up2in.getNumPages()): temp = up2in.getPage(i) up2.addPage(temp) up2 = frasers2up(up2) # up2 = turninto2up(up2in) with open(destpath, "wb+") as up2out: up2.write(up2out) tk.messagebox.showinfo( "Finished", "Finished, and maybe it even worked this time!") except FileNotFoundError: tk.messagebox.showerror( "File not found", "Either the input file or the output files is wrong.\nOr both of them. Who knows?" ) pass else: pass