gpt4 book ai didi

python - 如何使用 Report Lab 的 Canvas drawImage() 插入图像?

转载 作者:行者123 更新时间:2023-11-28 22:56:50 26 4
gpt4 key购买 nike

我正在寻找使用 report lab 的 pdfgen 扩展工具的功能,该工具目前仅使用绘制字符串;

if json_data[definition["field"]] != "":
c.drawString(
definition["x"] * cm,
definition["y"] * cm,
json_data[definition["field"]]
)

和 json;

{
"field":"name",
"x":1.8,
"y":10
},

因此,为了绘制图像而不是字符串,我执行了以下操作;

if json_data[definition["field"]] != "":
if definition.has_key("image"):
c.drawImage(
os.path.join(os.getcwd(), "images", "successIcon.gif"),
definition["x"] * cm,
definition["y"] * cm,
width=16, height=16,
)
else:
c.drawString(
definition["x"] * cm,
definition["y"] * cm,
json_data[definition["field"]]
)

将 json 更新为;

{
"field":"name",
"x":1.8,
"y":10,
"image":"name"
},

drawImage 的调用有问题吗?根据文档,它看起来是正确的,但它没有进入 drawImage,因为我已经尝试记录函数获取的参数,但我什么也没得到。

最佳答案

我之前使用drawImage的方法没有任何问题,目前正在成功使用以下代码;

# If we have an image attribute
if definition.has_key("image"):
if str(json_data[definition["field"]]) == 'True':
# need to replace this with url on attribute
filename = os.path.join(
os.getcwd(),
"static",
"images",
definition["image"]
)
c.drawImage(filename, definition["x"] * cm, definition["y"] * cm, 10, -10)

以及相应的json来指定图片文件名;

{
"field":"name",
"x":1.66,
"y":19.45,
"image":"image.jpg"
},

关于python - 如何使用 Report Lab 的 Canvas drawImage() 插入图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14890319/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com