我很想创建PDF格式的报告。我的报告应该在PDF顶部有一些标题,在标题下面有表格。如何将表格放置在PDF列表中的确切位置?
现在,我的表格在标题上方创建。 您可以在下面看到我的代码:
对不起,如果我的问题看起来很傻,我最近才开始使用ReportLab。
任何帮助将不胜感激!
class Ui_WinTable(object):
def title(self,canvas,doc):
canvas.saveState()
canvas.setFont('Courier-Bold', 16)
canvas.drawString(200, 800, 'Oil Consumption Report')
canvas.drawImage('s7logoforreport.bmp', 450, 780)
canvas.setFont('Courier', 14)
canvas.drawString(240, 780, 'TSN: ' + self.comboBox_TSN.currentText())
canvas.drawString(240, 740, 'Engine 1 ' + self.comboBox_Eng.currentText())
def createPDF(self):
elements = []
doc = SimpleDocTemplate('example.pdf', pagesize=A4)
data = [['00', '01', '02', '03', '04'],
['10', '11', '12', '13', '14'],
['20', '21', '22', '23', '24'],
['30', '31', '32', '33', '34']]
t1 = Table(data, 20, 20)
elements.append(t1)
doc.build(elements,onFirstPage=self.title)
答案 0 :(得分:0)
您可以使用边距在文档中为标题创建空间。像这样:
doc = SimpleDocTemplate(file,pagesize=A4,rightMargin=3*cm,leftMargin=3*cm,topMargin=4*cm,bottomMargin=3*cm)
doc.build(Story, onFirstPage=cabeceraPortada, onLaterPages=cabecera)