我正在使用 django
创建发票网络应用程序。我使用 reportlab
生成 pdf 发票。我已经完成了所有工作,但客户想要从表格内的行中删除网格,我尝试用白色将它们着色,但我在图像中得到了这个结果
这是我的表格代码:
def myTable(tabledata):
colwidths = (60, 320, 60, 60)
t = Table(tabledata, colwidths)
t.hAlign = 'RIGHT'
GRID_STYLE = TableStyle(
[
('INNERGRID', (0, 0), (-1, -1), 0.25, colors.black),
('BOX', (0, 0), (-1, -1), 0.25, colors.black),
('LINEABOVE', (0,1), (-1,-1), 0.25, colors.white),
]
)
t.setStyle(GRID_STYLE)
return t
答案 0 :(得分:0)
一种方法是使用 color.hexcolor() 并使用透明颜色。 透明白色将是:
colors.HexColor('#00FFFFFF')
以下是您的代码在内部网格设置为透明的情况下的样子:
def myTable(tabledata):
colwidths = (60, 320, 60, 60)
t = Table(tabledata, colwidths)
t.hAlign = 'RIGHT'
GRID_STYLE = TableStyle(
[
('INNERGRID', (0, 0), (-1, -1), 0.25, colors.HexColor('#00FFFFFF')),
('BOX', (0, 0), (-1, -1), 0.25, colors.black),
]
)
t.setStyle(GRID_STYLE)
return t
如果你想保留列分隔符:
def myTable(tabledata):
colwidths = (60, 320, 60, 60)
t = Table(tabledata, colwidths)
t.hAlign = 'RIGHT'
GRID_STYLE = TableStyle(
[
('INNERGRID', (0, 0), (-1, -1), 0.25, colors.HexColor('#00FFFFFF')),
('BOX', (0, 0), (-1, -1), 0.25, colors.black),
('LINEAFTER', (0,0), (-1,-1), 0.25, colors.black),
]
)
t.setStyle(GRID_STYLE)
return t