2014-12-05 25 views
4

有沒有辦法在ReportLab中的段落中插入回車符?我想連接一個「\ n」到我的段落字符串,但是這不起作用。如何在ReportLab段落中插入回車符?

Title = Paragraph("Title" + "\n" + "Page", myStyle) 

我想這樣做,因爲我把名字進入細胞,並要控制多少名上線的單元(最好1)說謊。一個單元格可以包含多個名稱,但在該單元格中,我希望每個名稱都位於其自己的行上,因此需要插入一個新行。

在某些時候,我得到一個流大的幀錯誤(我認爲這與表太大或有太多合併行有關)。我能想到的唯一方法是抑制這種情況,即單元格中每行只有一個名稱,這樣我就可以根據名稱計數限制表的大小,並將表分成更小的表。

似乎有必要有一個更乾淨的方式來做到這一點。有什麼建議麼?

回答

2

A Paragraph是reportlab中的Flowable。一個換行符不會以你想要的方式在一個流程中工作。如果你的Paragraph在表格內(如你所建議的),你可能會考慮創建一個沒有流動元件的單元。例如,你可以這樣做:

data = [['Title\nPage', 'Name', 'Exists'], # note the newline character 
     ['', 'George', 'True']] 
t = Table(data, style=style_) 
... 

上面的例子會使第一個數據單元兩排高大(但同一個小區的一部分)。

如果你真的需要保留Paragraph流動性的風格,但是,你可以插入兩個段落在同一單元:

title1 = Paragraph("Title", myStyle) 
title2 = Paragraph("Page", myStyle) 
cell = [title1, title2]    # put this in a single cell of your table 
相關問題