在reportlab中创建包含不同高度行的表

时间:2012-06-08 12:15:01

标签: python reportlab

我正在尝试使用reportlab创建一个发票模板。对于发票中的订单项,我使用的是表格。表的第一行包含标题,后续行将是实际的行项。我基本上想要实现的是,如果表只包含1个行项(加上一行标题),则表应该跨越整个页面。

怎么办?我没有看到任何单独指定行高的方法。

提前致谢。

2 个答案:

答案 0 :(得分:6)

您可以在创建Table对象时指定每个行高度:

rows = [["Header1", "Header2"], ["Data1", "Data2"]]
table = Table(rows, colWidths=(50*mm, 50*mm), rowHeights=(10*mm, 250*mm))

要控制表格单元格中的文本对齐方式,可以使用TableStyle。

答案 1 :(得分:2)

您可以使用TableStylesSPAN命令实现此目的。您可以从ReportLab user manual的第81页开始详细了解其工作原理。这样您就可以让单元格跨越任意数量的行和列。

你也可以使用TableStyles来调整每行和每列的宽度和高度,但是你的描述听起来并不像你真正想做的那样。