我使用Reportlab生成pdf格式的表格。但是,我已经到了需要在同一个文件中包含多个表的情况下,其中一些表跨越多个页面。我认为跨多个页面的表正在为我生成错误。在
我使用了这个答案中的格式,我的代码基于:Multiple tables (5) one one page using ReportLab
产生错误的代码:
from reportlab.lib import colors
from reportlab.lib.pagesizes import letter, inch
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle
doc = SimpleDocTemplate("test.pdf")
elements = []
data1= [['00', '01', '02', '03', '04','10', '11', '12', '13', '14'],
['10', '11', '12', '13', '14', '10', '11', '12', '13', '14'],
['20', '21', '22', '23', '24', '10', '11', '12', '13', '14'],
['30', '31', '32', '33', '34', '10', '11', '12', '13', '14']]
t1=Table(data1)
t1.setStyle(TableStyle([('INNERGRID', (0,0), (-1,-1), 0.25, colors.black),
('BOX', (0,0), (-1,-1), 0.25, colors.black),
]))
data2= [[x] for x in range(40)]
t2=Table(data2)
t2.setStyle(TableStyle([('INNERGRID', (0,0), (-1,-1), 0.25, colors.black),
('BOX', (0,0), (-1,-1), 0.25, colors.black),
]))
data = [[t1],[t2]]
overallTable = Table(data)
elements.append(overallTable)
doc.build(elements)
运行时收到的错误:
^{pr2}$我确实找到了一个类似错误https://stackoverflow.com/a/27580676/4033176的解决方案,但我从未定义过间隔器。在
有没有一种一致的方法可以使用Reportlab生成一个包含多个表的pdf文件,其中一些表的长度超过一个页面?(不是合并pdf文件)
问题是您正在嵌套表。这意味着长表
t2
使一个单个单元格的长度比页面长-这就是导致错误的原因,而不是表格比页面长。在更换
与
^{pr2}$相关问题 更多 >
编程相关推荐