def __init__(self, filehandle): old_pos = filehandle.tell() filehandle.seek(0) data = filehandle.read() filehandle.seek(old_pos) self._poppler = P.document_new_from_data(data)
def badge_png(ds): """ make a badge image based on real data >>> badge_png(test_dataset())[1:4] 'PNG' """ # This is for badge_png preview image: try: import poppler except: err_missing('Python-poppler library not installed; can\'t generate preview.') try: from gtk.gdk import Pixbuf,COLORSPACE_RGB except: err_missing( 'Library not installed: gtk.gdk; can\'t generate preview.') ###### # get pdf pdf = mkpdf(ds,sample=True) # render pdf onto pixbuf pixbuf = Pixbuf(COLORSPACE_RGB,False,8,286,225) doc = poppler.document_new_from_data(pdf,len(pdf),password='') page0=doc.get_page(0) page0.render_to_pixbuf(0,0,8,11,1,0,pixbuf) # save pixbuf as png # There has to be a better way to get the image? lst=[] pixbuf.save_to_callback(lambda b,l: l.append(b), 'png', user_data=lst) png=''.join(lst) return png