我正在寻求使用报告实验室的pdfgen来扩展工具的功能,目前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
,因为我试图记录函数得到的args&我一无所获。
答案 0 :(得分:4)
我以前使用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"
},