def change_name(PdfDescriptor): reader = PdfFileReader(PdfDescriptor) contents = reader.getPage(0).extractText() year = contents.split('ESGI')[1][-7:][1:5] planning_date = contents.split('lundi ')[1][:5] + "/" + year return planning_date.replace('/', '-')
return n else: return getNumber() def generateRandom(): v = str(getNumber()) + str(getNumber()) + str(getNumber()) + str(getNumber()) ind = pile.index(v) if v in pile else False if (ind == False): pile.append(v) return v else: return generateRandom() def decryptPdf(f): if(f.getIsEncrypted()): ran = generateRandom() t = f.decrypt(seed+ran) if (t==1): return {'pdf': f, 'r': ran, 's': seed+ran} else: return decryptPdf(f) else: print 'cola' return f.getDocumentInfo().title f = PdfFileReader(file("fun.pdf", "rb")) o = decryptPdf(f) ff = o.get('pdf') ff.decrypt(o.get('s')) print ff.getIsEncrypted() print "title = %s" % (f.getDocumentInfo().title) pp(o)
def applyBarcode(self): #gets the barcode from barcode page, saves it, applies it to both the copyright .pdf and the cover file. saves copyright file as mod####.pdf to appropriate folder if self.execution(self.bc_image,20,"find") is False: self.driver.quit() self.stage = 0 self.luluCruise() bcImage = self.driver.find_element_by_xpath(self.bc_image) location = bcImage.location size = bcImage.size print "taking screenshot" self.driver.save_screenshot('barcode.png') print "cropping screen screenshot" im = Image.open('barcode.png') left = location['x'] top = location['y'] right = location['x'] + size['width'] bottom = location['y'] + size['height'] im = im.crop((left, top, right, bottom)) # defines crop points im.save('barcode.png') # saves new cropped image imgWidth = (im.size[0])*.4 imgHeight = (im.size[1])*.4 # Using ReportLab to insert image into PDF imgTemp = StringIO() imgDoc = canvas.Canvas(imgTemp) # Draw image on Canvas and save PDF in buffer print "draw up new page and place barcode on there" imgPath = self.local.pwd+"/barcode.png" imgDoc.drawImage(imgPath, 300, 115, imgWidth, imgHeight) ## at (303,115) with size 160x160 imgDoc.save() # Use PyPDF to merge the image-PDF into the template page = PdfFileReader(file(self.local.cFolder+"/volume&&&"+self.volume.num+".pdf","rb")).getPage(0) overlay = PdfFileReader(StringIO(imgTemp.getvalue())).getPage(0) page.mergePage(overlay) output = PdfFileWriter() output.addPage(page) output.write(file(self.local.cFolder+"/bcVolume&&&"+self.volume.num+".pdf","w")) print "cover is up" im = Image.open('barcode.png') im.save('barcode.png') # saves new cropped image imgWidth = (im.size[0])*.4 imgHeight = (im.size[1])*.4 # Using ReportLab to insert image into PDF imgTemp = StringIO() imgDoc = canvas.Canvas(imgTemp) # Draw image on Canvas and save PDF in buffer print "seek to page and place barcode before main" imgPath = "barcode.png" imgDoc.drawImage(imgPath, 46, 40, imgWidth, imgHeight) imgDoc.save() # Use PyPDF to merge the image-PDF into the template original = pypdf.PdfFileReader(file(self.local.inFolder+self.volume.round_folder+"/pre"+self.volume.num+".pdf","rb")) page = original.getPage(1) overlay = pypdf.PdfFileReader(StringIO(imgTemp.getvalue())).getPage(0) page.mergePage(overlay) # add all pages to a writer writer = pypdf.PdfFileWriter() for i in range(original.getNumPages()): page = original.getPage(i) writer.addPage(page) with open(self.local.inFolder+self.volume.round_folder+"/mod"+self.volume.num+".pdf", "wb") as outFile: writer.write(outFile)
bat_xlsx = 'D:\AR Conversion\ProcessCode_Alok\Request Id Batch/'+str(Request_id)+'.bat' if os.path.isfile(bat_xlsx): os.remove(bat_xlsx) n = 100 pdf_page_break_list = [pdf_files[i:i + n] for i in xrange(0, len(pdf_files), n)] # print "pdf break list of 100 files to",pdf_page_break_list for pdf_list in pdf_page_break_list: print "Count of file move to omni from pdf list",len(pdf_list) for pdf in pdf_list: input1 = PdfFileReader(open(pdf, "rb")) input1.getPage(0).mediaBox pxcel_files = list(input1.getPage(0).mediaBox) if int(pxcel_files[2])>2015 or int(pxcel_files[3])>2015: x = float(1000/float(pxcel_files[3])) print x # print input1.getPage(0).scale(0.5, 0.5) print input1.getPage(0).scaleBy(.3) output = PdfFileWriter() print input1.getPage(0).mediaBox file_folder = pdf.split('\\') p_name = file_folder[-1] omni_filesave= omni_savedir+'\\'+p_name output.addPage(input1.getPage(0)) outDoc = open(omni_filesave, 'wb')