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

pok*_*man 4 python reportlab

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

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

提前致谢.

小智 8

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

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

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


G G*_*III 2

您可以使用TableStylesSPAN命令来实现此目的。您可以从ReportLab 用户手册第 81 页开始详细了解其工作原理。这将使您可以根据需要让单元格跨越任意多的行和列。

您还可以用来TableStyles调整每行和每列的宽度和高度等内容,但从您的描述来看,这听起来不像您真正想要做的。