我正在处理从庞大的数据列表中生成PDF的问题。

没有花哨的样式或格式涉及。只是数据是一个巨大的列表(大约500行500列)。这是我的代码。目前,根据页面大小将行拆分到多个页面上没有问题,但是由于一列中不包含500列,因此该列已被切断。我也想在不同页面上拆分列。每个单元格条目只是一个整数。我该如何实现?

from reportlab.lib import colors
from reportlab.lib.units import cm
from reportlab.lib.pagesizes import A0
from reportlab.platypus import SimpleDocTemplate, LongTable, TableStyle


elements = []
doc = SimpleDocTemplate(output, pagesize=A0)
t = LongTable(data)
t.setStyle(TableStyle([('INNERGRID', (0,0), (-1, -1), 0.25, colors.black),
                       ('BOX', (0, 0), (-1, -1), 0.25, colors.black),
                     ]))
elements.append(t)
doc.build(elements)

最佳答案

我认为PDF打印的最佳选择可能是实际声明一个足以处理数据的页面大小。例如,如果网格的每个块的边长均为1x1英寸,边距为1英寸,则尝试执行以下操作:

doc = SimpleDocTemplate(output, pagesize=(502*inch, 502*inch) )

关于python - 使用reportlab生成长表pdf,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9841546/

10-12 00:02