我看过很多 reportlab 图表示例。生成图形不是问题,我似乎无法弄清楚如何在 pdf 上显示图形。

这是代码:

buffer = StringIO()
p = canvas.Canvas(buffer, pagesize = letter)

##### Beginning of code in question

d = Drawing(200, 100)
pc = Pie()
pc.x = 65
pc.y = 15
pc.width = 70
pc.height = 70
pc.data = [10,20,30,40,50,60]
pc.labels = ['a','b','c','d','e','f']
pc.slices.strokeWidth=0.5
pc.slices[3].popout = 10
pc.slices[3].strokeWidth = 2
pc.slices[3].strokeDashArray = [2,2]
pc.slices[3].labelRadius = 1.75
pc.slices[3].fontColor = colors.red
d.add(pc)

p.drawPath(d) ### THIS DOES NOT WORK, but need something similar

#####End of Code in Question

p.showPage() #Page Two

p.save() # Saves the PDF and Returns with Response\

pdf = buffer.getvalue()
buffer.close()
response.write(pdf)
return response

这就是我显示文本的方式。
p.setFillColorRGB(1,1,1)
header = p.beginText(100, 765)
header.textLine("页面标题文本")
p.drawText(标题)

最佳答案

我前段时间写过这篇文章,但它一直是网站上最受欢迎的文章之一,所以我想它对某些人有用。

http://www.protocolostomy.com/2008/10/22/generating-reports-with-charts-using-python-reportlab/

如果这还不足以让您通过,请告诉我,我会在以后有更多时间时回来提供更多帮助。

关于python - 将图表添加到 Reportlab PDF,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3773846/

10-12 23:05