【问题标题】:ReportLab table with a column spanning all rows split across PDF page?ReportLab 表的列跨越 PDF 页面的所有行?
【发布时间】:2012-11-28 13:18:03
【问题描述】:

我正在尝试按以下格式在 reportLab 中布置表格。该表是动态的,可以有很多行。

---------
| a | b |
|---|   |
| a |   |
|---|   |
| a |   |
---------

tTableStyle=[ ('SPAN',(1,0),(1,-1)) ]

如果表格适合一页,则效果很好,但如果表格被拆分为页面,则会崩溃。如果没有跨度,表格可以拆分,但我被第二列中的网格线卡住了。

已阅读here,这是由于所使用的算法无法自动跨页面跨页,但不确定如何解决此问题。

是否可以获取每个页面上显示的行数并使用它而不是 -1? 例如。 x=rows_on_page1, y=rows_on_page2 然后在 tableStyle 我可以做类似的事情

('SPAN',(1,0),(1, x)), 
('SPAN',(1,x+1),(1,y))

有人建议手动创建表,但我不确定如何。任何帮助表示赞赏。

【问题讨论】:

    标签: python pdf-generation reportlab platypus


    【解决方案1】:

    我最终使用的解决方案是忽略尝试跨越,而只是使用框代码来绘制我想要的线条。

    ('INNERGRID', (0,0), (0,-1), colors.grey),  # gridlines for first column
    ('BOX', (0,0), (-1,-1), 0.25, colors.grey), # outer border
    ('BOX', (0,0), (0,-1), 0.25, colors.grey),  # inner border
    ("LINEBELOW", (0, 'splitlast'), (-1, 'splitlast'), 0, colors.grey), # draw bottom line on table split
    

    【讨论】:

    • 您可以创建一组表格,在不同的列之间没有间距
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 2019-06-23
    • 2013-11-01
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多