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)
Esempio n. 2
0
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