在现有的pdf中添加带有数字的第二页

时间:2014-11-18 23:48:32

标签: python matplotlib reportlab

请帮助我,如何将pylab plt添加到我的pdf的第二页。我有下一个文本代码,所以我的报告的第一页将是文本,在第二页我不想插入图。如何添加第二页并将plt.savefig("my.pdf")保存到我的pdf文件的第二页?

c = canvas.Canvas('my.pdf', pagesize=landscape(letter))
c.setFont('Helvetica', 35, leading=None)
c.drawCentredString(415,500, "Name")
c.setFont('Helvetica', 34, leading=None)
c.drawCentredString(415,440, "Surname")
c.setFont('Helvetica',24, leading=None)
c.drawCentredString(415,395, "Igorj Borin")
c.setFont('Helvetica-Bold', 16, leading=None)
c.drawCentredString(415,350, "Vasja pupkin")
c.setFont('Helvetica-Bold', 20, leading=None)
c.drawCentredString(415,310, strftime("%d/%m/%Y %H:%M:%S", gmtime()))
c.showPage()
c.save()

plt.savefig("my.pdf") 

1 个答案:

答案 0 :(得分:0)

如果你有一个位图图片,比如png,jpg,gif,bmp(哦亲爱的..),你可以在调用c.save()之前添加以下几行:

from reportlab.lib.units import inch, cm  # 72 dpi -> inch = 72 
c.drawImage('my.png',2.5*cm, 5*cm, 4*inch, 3*inch) # parameters: filename, spacing from left and bottom, with width and height

Reportlab似乎没有很好地处理矢量图像,即使安装了PIL,如果在导出为pdf的图像上使用它,也会产生IOError: cannot identify image file。 但是,你可以,例如使用ghostscript合并pdf,无论其内容如何。但是,你不会拥有典型的reportlab样式。

相关问题