ReportLab表中是否有跨越PDF页面的所有行的列?

时间:2012-12-11 02:18:42

标签: python pdf-generation reportlab platypus

我正在尝试使用以下格式在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))

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

1 个答案:

答案 0 :(得分: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