Hinzufügen Grafik, um Reportlab PDF
Ich habe gesehen, viele reportlab Grafik-Beispiele. Die Generierung der Grafik ist nicht das problem, ich kann nicht scheinen, um herauszufinden, wie die Anzeige der Grafik in der pdf-Datei.
Hier ist der code:
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
Dies ist, wie ich text anzeigen.
p.setFillColorRGB(1,1,1)
header = p.beginText(100, 765)
header.textLine("Seite-Überschrift-Text")
p.drawText(header)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schrieb ich hier vor einiger Zeit, aber es ist einer der beliebtesten Artikel auf der Website, so dass ich denke, es funktioniert für einige.
http://www.protocolostomy.com/2008/10/22/generating-reports-with-charts-using-python-reportlab/
Wenn es nicht genug, um Sie durch, lassen Sie mich wissen, und ich werde wieder kommen, um zu helfen mehr später, wenn ich mehr Zeit habe.
überspringen der Leinwand und benutzen Sie einfach die Zeichnung widget - es wird generieren der PDF-Datei:
Wenn Sie brauchen, um Sie das Diagramm, um Ihre Leinwand verwenden
d.drawOn(p,0,0)
stattp.drawPath(d)
Einer verbesserten Antwort von @siguy Beispiel mit reportlab 2.7.
Ausgabe hier: