Я пытаюсь вставить две таблицы в pdf, используя python reportlab. Число строк во второй таблице меньше, чем первая таблица.
Но горизонтальное положение двух таблиц не соответствует. Некоторое пустое пространство, идущее на второй стол.python Reportlab, добавьте две таблицы бок о бок в pdf
Как удалить это пространство так, чтобы обе таблицы были выровнены по горизонтали?
from reportlab.lib import colors
from reportlab.lib.pagesizes import letter, inch
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle
doc = SimpleDocTemplate("simple_table_grid.pdf", pagesize=letter)
elements = []
data= [['00', '01', '02', '03', '04'],
['10', '11', '12', '13', '14'],
['20', '21', '22', '23', '24'],
['30', '31', '32', '33', '34']]
data1= [['00', '01', '02', '03', '04'],
['10', '11', '12', '13', '14']]
t1=Table(data,5*[0.4*inch], 4*[0.4*inch],hAlign='LEFT')
t1.setStyle(TableStyle([('ALIGN',(1,1),(-2,-2),'RIGHT'),
('TEXTCOLOR',(1,1),(-2,-2),colors.red),
('VALIGN',(0,0),(0,-1),'TOP'),
('TEXTCOLOR',(0,0),(0,-1),colors.blue),
('ALIGN',(0,-1),(-1,-1),'CENTER'),
('VALIGN',(0,-1),(-1,-1),'MIDDLE'),
('TEXTCOLOR',(0,-1),(-1,-1),colors.green),
('INNERGRID', (0,0), (-1,-1), 0.25, colors.black),
('BOX', (0,0), (-1,-1), 0.25, colors.black),
]))
t2=Table(data1,5*[0.4*inch], 2*[0.4*inch],hAlign='RIGHT')
t2.setStyle(TableStyle([('ALIGN',(1,1),(-2,-2),'RIGHT'),
('TEXTCOLOR',(1,1),(-2,-2),colors.red),
('VALIGN',(0,0),(0,-1),'TOP'),
('TEXTCOLOR',(0,0),(0,-1),colors.blue),
('ALIGN',(0,-1),(-1,-1),'CENTER'),
('VALIGN',(0,-1),(-1,-1),'MIDDLE'),
('TEXTCOLOR',(0,-1),(-1,-1),colors.green),
('INNERGRID', (0,0), (-1,-1), 0.25, colors.black),
('BOX', (0,0), (-1,-1), 0.25, colors.black),
]))
t = [[t1,t2]]
temp = Table(t)
elements.append(temp)
doc.build(elements)
Мне непонятно, что вы хотите. Вы хотите, чтобы t1 и t2 находились на одной линии (t1 слева, t2 справа), и вы занимаетесь пространством между t1 и t2? Или вы хотите, чтобы t1 сверху и t2 внизу? В этом случае «выравнивание по горизонтали» будет иметь для меня больше смысла. – Denis
Да, я хочу t1 и t2 в одной строке. , но что происходит, когда t2 содержит меньшее количество строк, чем t1, то t1 и t2 не начинаются с той же строки. – s28
Хорошо, тогда вы хотите выровнять t1 и t2 * по вертикали *, правильно? Вы можете выровнять их в верхней строке, добавив стиль 'TableStyle ([('VALIGN', (0,0), (-1, -1), 'TOP')])' в таблицу 'temp'. – Denis