如何使用ReportLab从原始字节绘制图像?

2024-10-02 00:39:24 发布

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

我在互联网上遇到的所有例子都是从url(本地或web)加载图像。我想要的是从原始字节直接将图像绘制到pdf。在

更新:

@georgexsh这是我根据对你下面评论的理解而编写的代码:

def PDF_view(request):
    response = HttpResponse(content_type='application/pdf')

    ...

    page = canvas.Canvas(response, pagesize=A4)
    page.setTitle("Sample PDF")


    image = StringIO(raw_image_bytes) # raw_image_bytes is from external source
    image.seek(0)
    page.drawImage(image, 100, 100 )

    filename = 'document.pdf'
    page.showPage()
    page.save()

    return response

Tags: 图像imageweburlraw字节bytespdf
1条回答
网友
1楼 · 发布于 2024-10-02 00:39:24

report lab Image object source code开始,可以接受类似文件的obj,因此可以用StringIO/io.BytesIO包装图像数据,并将其作为filename传递。在


更新时间:

当您使用drawImage方法时,它需要一个ImageReader对象:

from reportlab.lib.utils import ImageReader
import io
img = ImageReader(io.BytesIO(raw_image_bytes))
page.drawImage(image, ...)

相关问题 更多 >

    热门问题