将PIL-image对象与reportlab drawImage一起使用时

2024-09-30 01:27:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用reportlabdrawimage方法将PIL-image对象插入到pdf中。在

 im=Image.open('back_ground.png')
 side_im=im.crop((2,2,277,819))
 c=canvas.Canvas('report.pdf')
 c.drawImage(side_im,200,700)

我得到了这个错误

^{pr2}$

Tags: 对象方法cropimagepilpdfpngback
2条回答

只是为了更新一下,因为StringIO在Python3中被弃用了。导入io而不是StringIO并使用拜特西奥()

import io
from reportlab.lib.utils import ImageReader

im=Image.open('back_ground.png')
side_im=im.crop((2,2,277,819))
c=canvas.Canvas('report.pdf')

#c.drawImage(side_im,200,700)
side_im_data = io.BytesIO()
side_im.save(side_im_data, format='png')
side_im_data.seek(0)
side_out = ImageReader(side_im_data)
c.drawImage(side_out,200,700)

这对我很有效:

import StringIO
from reportlab.lib.utils import ImageReader

im=Image.open('back_ground.png')
side_im=im.crop((2,2,277,819))
c=canvas.Canvas('report.pdf')

#c.drawImage(side_im,200,700)
side_im_data = StringIO.StringIO()
side_im.save(side_im_data, format='png')
side_im_data.seek(0)
side_out = ImageReader(side_im_data)
c.drawImage(side_out,200,700)

相关问题 更多 >

    热门问题