使用reportlab生成长表格的pdf

问题描述:

我正在处理从庞大的数据列表生成PDF。使用reportlab生成长表格的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)) 
+0

同意。当行和列都溢出时,处理页面拆分表并不是一个好方法。因为所有你想要的都是简单的东西,这似乎是最好的方法,让PDF查看器找出它。 – 2012-03-23 18:01:27