【问题标题】:Generating a pdf of long tables with reportlab使用reportlab生成长表的pdf
【发布时间】:2012-03-23 15:05:11
【问题描述】:

我正在处理从庞大的数据列表生成 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)

【问题讨论】:

    标签: python pdf reportlab


    【解决方案1】:

    我认为 PDF 打印的最佳选择可能是实际声明一个足够大的页面大小来处理数据。例如,如果网格的每个块都是 1x1 英寸并且每边都有 1 英寸的填充,那么尝试执行以下操作:

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

    【讨论】:

    • 同意。当行和列都溢出时,没有一个很好的方法来处理在页面上拆分表。因为你想要的只是一些简单的东西,这似乎是最好的方法,让 pdf 查看器弄清楚。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-14
    • 2013-03-07
    • 1970-01-01
    • 2017-03-24
    • 2017-12-05
    • 1970-01-01
    相关资源
    最近更新 更多