У меня есть таблица, которую я хочу отобразить на холсте в python, я отобразил текст на холсте и возвращаю буфер, чтобы вернуть новый FileResponse в другой функции.Мой код:
def Report(dict):
from reportlab.lib.utils import ImageReader
buffer = io.BytesIO()
p = canvas.Canvas(buffer)
textobject = p.beginText()
textobject.setTextOrigin(200, 680)
textobject.textLine('Title')
p.drawText(textobject)
logo = ImageReader('static/img/logo.png')
p.drawImage(logo, 100, 700,width = 400,height=100,mask = None)
data = [['00', '01', '02', '03', '04'],
['10', '11', '12', '13', '14'],
['20', '21', '22', '23', '24'],
['30', '31', '32', '33', '34']]
f = Table(data)
f.setStyle(TableStyle([('BACKGROUND', (1, 1), (-2, -2),
colors.green),
('TEXTCOLOR', (0, 0), (1, -1), colors.red)]))
p.showPage()
p.save()
buffer.seek(0)
return buffer