Таблица Python Reportlab не отображается горизонтально при использовании циклического многостраничного PDF-файла.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Таблица Python Reportlab не отображается горизонтально при использовании циклического многостраничного PDF-файла.

Сообщение Anonymous »

Я пытаюсь опубликовать динамическую таблицу в формате PDF с помощью reportlab. Необходимо ограничить 10 строк на странице, а 11-я строка должна перейти на следующую страницу и так далее.
Я написал таблицу в цикле for (как ее динамическую таблицу), и когда количество строк достигло 10, применил разрыв страницы для перехода к следующей странице в PDF.
Но таблица появляется на выходе это очень странно. Это тоже происходит вертикально с одним алфавитом. Пожалуйста, обратите внимание, что у меня есть текст/изображение в верхней части страницы, поэтому мне нужно записать данные этой таблицы по конкретным координатам.
Я привел здесь статические данные для лучшего понимания. . Вывод ошибки прилагается.

Код: Выделить всё

test=[['S.No','Item Name','Qty','Unit Price','Discount','Tax','Total Price'],['1','ABC','1','1.0' ,'0','0','1.0']]]
C_width=[0.6*inch,1*inch,0.4*inch,0.9*inch,1*inch]
ac=[]
y=580
for i in range(len(test)):
if (i%10==0 and i>0):
ac.append(PageBreak())
f=Table(test[0],rowHeights=20,repeatRows=1,colWidths=C_width,splitByRow=7)
f.hAlign="LEFT"
fstyle=TableStyle([('GRID',(0,0),(-1,-1),1,colors.black),('VALIGN',(0,0),(-1,-1),'TOP'),
('TEXTCOLOR',(0,0),(-1,0),colors.blue),('FONTSIZE',(0,0),(1,0),12),
("FONT",(0,0),(-1,0),"Helvetica",12),('ALIGN',(0,0),(-1,-1),'CENTER'),
('TEXTCOLOR',(0,1),(-1,-1),colors.black),("FONT",(1,0),(-1,-1),"Helvetica",10),('BOTTOMPADDING', (0, 1), (-1, -1), 6)])
f.setStyle(fstyle)

f.wrapOn(c,200,100)
f.drawOn(c,40,y)
y=y-20
ac.append(f)

f=Table(test[i],rowHeights=20,repeatRows=1,colWidths=C_width,splitByRow=7)
f.hAlign="LEFT"
fstyle=TableStyle([('GRID',(0,0),(-1,-1),1,colors.black),('VALIGN',(0,0),(-1,-1),'TOP'),
('TEXTCOLOR',(0,0),(-1,0),colors.blue),('FONTSIZE',(0,0),(1,0),12),
("FONT",(0,0),(-1,0),"Helvetica",12),('ALIGN',(0,0),(-1,-1),'CENTER'),
('TEXTCOLOR',(0,1),(-1,-1),colors.black),("FONT",(1,0),(-1,-1),"Helvetica",10),('BOTTOMPADDING', (0, 1), (-1, -1), 6)])
f.setStyle(fstyle)

f.wrapOn(c,200,100)
f.drawOn(c,40,y)
ac.append(f)
y=y-80
else:
print(test[i])
f=Table(test[i],rowHeights=20,repeatRows=1,colWidths=C_width)
f.hAlign="LEFT"

fstyle=TableStyle([('GRID',(0,0),(-1,-1),1,colors.black),
('TEXTCOLOR',(0,0),(-1,0),colors.blue),('FONTSIZE',(0,0),(1,0),12),
("FONT",(0,0),(-1,0),"Helvetica",12),('ALIGN',(0,0),(-1,-1),'CENTER'),
('TEXTCOLOR',(0,1),(-1,-1),colors.black),("FONT",(1,0),(-1,-1),"Helvetica",10),('BOTTOMPADDING', (0, 1), (-1, -1), 6)])
f.setStyle(fstyle)
f.wrapOn(c,550,10)
f.drawOn(c,40,y)
y=y-80
ac.append(f)

my_doc.build(ac)

Ищем решение проблемы. Я пробовал различные изменения под оберткой, но ничего не дало результатов. Ожидается, что таблица будет располагаться горизонтально в соответствии со столбцами.

Подробнее здесь: https://stackoverflow.com/questions/785 ... loop-multi
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»