我有一个在Python中生成的列表,为了有一个好的布局,我需要对它进行自动换行。由于它是一个列表中的列表,我无法使用Paragraphe()(或许有人知道怎么用-但我还没有写出可运行的代码)。
我在page上找到了一段代码,但它不会进行自动换行,尽管它声称可以这样做。
所以问题来了: 如何对我的单元格中的文本进行自动换行,使表适合页面并能看到所有文本?
以下是我的代码(简化版):
我在page上找到了一段代码,但它不会进行自动换行,尽管它声称可以这样做。
所以问题来了: 如何对我的单元格中的文本进行自动换行,使表适合页面并能看到所有文本?
以下是我的代码(简化版):
from reportlab.lib.pagesizes import A4
from reportlab.lib.pagesizes import letter, cm
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.platypus import LongTable, TableStyle, BaseDocTemplate, Frame, PageTemplate
from reportlab.lib import colors
from reportlab.platypus import Paragraph, Table, TableStyle
########################################################################
def test():
doc = BaseDocTemplate(
"question.pdf",
pagesize=A4,
rightMargin=72,
leftMargin=72,
topMargin=50,
bottomMargin=80,
showBoundary=False)
elements = []
data = [['A', 'B', 'C', 'dddddddddddd', 'D'],
['00', '0dddddddddddddddddddddddddddddddddddd1', '02', 'fff', '04'],
['10', '11', '12', 'dfg', '14'],
['20', '21', '22', 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddd23', '24'],
]
t = LongTable(data)
tableStyle = [
('INNERGRID', (0, 0), (-1, -1), 0.25, colors.black),
('BOX', (0, 0), (-1, -1), 0.25, colors.black),
]
t.setStyle(TableStyle(tableStyle))
elements.append(t)
styles = getSampleStyleSheet()
styleN = styles['Normal']
frame = Frame(doc.leftMargin, doc.bottomMargin, doc.width, doc.height - 2 * cm, id='normal')
template = PageTemplate(id='longtable', frames=frame)
doc.addPageTemplates([template])
doc.build(elements)
if __name__ == '__main__':
test()`