[Zope] Properly integrating PIL, reportlab, and zope

ed colmar ecolmar@uswest.net
Wed, 1 Nov 2000 12:54:14 -0700


Hi all!

I am working on a project using zope and reportlab.

The goal is to have uploaded images end up in a formatted PDF file.

I have both of these halves completed, I need to figure out how to connect
them.

I have been using SquishFile.py as the wrapper around uploaded images, as is
done in squishdot.  The few image types I have tried have displayed fine on
screen, but PIL is not able to recognise the image.

How would you go about wrapping the file in a PIL.Image() ?  I've been
trying things similar to:

        cardimage=PIL.Image.open(self.uploadedimage)
        c.drawInlineImage(cardimage, 1,1)

This gives an error in reportlab.canvas.convert()

I tried using PIL.image.fromstring(), but I can't quite get the it to work
out:

        filebytes=[str(self.uploadedimage.file_bytes()), 'bytes']
        cardimage=PIL.Image.fromstring(self.uploadedimage.content_type(),
               filebytes,
               self.uploadedimage.file_data())
        c.drawInlineImage(cardimage, 1,1)

This gives a typeerror: PIL/Image.py, line 848, in new

has anyone succesfully done this?  can I just Leave the SquishFile wrapper
off if it is ONLY going to be images that get uploaded?

Thanks for any ideas!

-ed-