使用 reportlab 生成 pdf
Generate pdf with reportlab
在尝试使用 python-reportlab 创建 pdf 的 django 项目中。
from reportlab.pdfgen import canvas
response = HttpResponse(content_type='application/pdf')
response['Content-Disposition'] = 'attachment; filename="somefilename.pdf"'
p = canvas.Canvas(response)
p.drawString(10, 800, "Name")
p.drawString(10, 900, "Address")
p.drawString(10, 1000, "School")
p.showPage()
p.save()
输出pdf时只显示Name
,其他两个字符串怎么了?
"Address" 和 "School" 的坐标只是在页面之外。 reportlab 坐标系的原点是左下角,x 坐标向右,y 坐标向上。请尝试以下操作:
p.drawString(10, 800, "Name")
p.drawString(10, 790, "Address")
p.drawString(10, 780, "School")
所以这行得通。只是给 y 坐标较小的值。根据您的需要尝试使用这些值。
p = canvas.Canvas(response)
p.drawString(10,750,'Name')
p.drawString(10,650,'Address')
p.drawString(10,550,"School")
p.showPage()
p.save()
在尝试使用 python-reportlab 创建 pdf 的 django 项目中。
from reportlab.pdfgen import canvas
response = HttpResponse(content_type='application/pdf')
response['Content-Disposition'] = 'attachment; filename="somefilename.pdf"'
p = canvas.Canvas(response)
p.drawString(10, 800, "Name")
p.drawString(10, 900, "Address")
p.drawString(10, 1000, "School")
p.showPage()
p.save()
输出pdf时只显示Name
,其他两个字符串怎么了?
"Address" 和 "School" 的坐标只是在页面之外。 reportlab 坐标系的原点是左下角,x 坐标向右,y 坐标向上。请尝试以下操作:
p.drawString(10, 800, "Name")
p.drawString(10, 790, "Address")
p.drawString(10, 780, "School")
所以这行得通。只是给 y 坐标较小的值。根据您的需要尝试使用这些值。
p = canvas.Canvas(response)
p.drawString(10,750,'Name')
p.drawString(10,650,'Address')
p.drawString(10,550,"School")
p.showPage()
p.save()