2013-10-28 65 views
0

我試圖在Reportlab中構建一個目錄(但失敗了......並沒有堅持太多,似乎甚至比我所需要的更多..可能是我會試一試新來的..)。Py ReportLab附加platypus

現在我很高興有一些簡單的文本作爲文檔的指南(文檔主要由一些Pandas生成編號的網格組成)。Id'喜歡在文本中使用網格標題Reportlab生成的.pdf開頭)。

我的目標看起來非常簡單,並且將兩個Platypuses與titels和一個與網格相連但沒有工作。所以,我移動到一個更簡單的目標,並試圖追加合併兩個鴨嘴獸明文..但沒有再工作...... :-(

我的代碼如下:

# settings 
from reportlab.pdfgen import canvas 
from reportlab.lib.styles import getSampleStyleSheet 
from reportlab.platypus import * 
styles = getSampleStyleSheet() 
PATH_OUT = "C:\\" 
titolo = 'Test.pdf' 
doc = SimpleDocTemplate(PATH_OUT + titolo) 
elements0 = [] 
elements1 = [] 
elements2 = [] 

# 1-st platypus 
elements0.append(Paragraph("The Platypus0", styles['Heading1'])) 
elements0.append(Paragraph("Very <i>Special</i>!", styles['Normal'])) 

# 2-nd platypus 
elements1.append(Paragraph("The Platypus1", styles['Heading1'])) 
elements1.append(Paragraph("Very <i>Special</i>!", styles['Normal'])) 

# append them 
elements2 = elements0.append(elements1) 

# Write the document 
doc.build(elements2) 

我有問題這是因爲沒有len()產生的對象而顯然崩潰。

你有什麼建議可能對此有幫助嗎?如果我使用elements0或者elements1,一個獨立於另一個,它們工作得很順利,但是當我嘗試追加另一個時,它沒有。任何建議?

非常感謝你:-)法比奧。

回答

2

append在列表上添加項目並且不返回新列表。用下面的:

elements2 = elements0.append(elements1) 

elements2被分配值Noneelements0現在包含一個新的項目,如果你想把兩個文本一起,使用連接是elements1

elements0[0] -> Paragraph("The Platypus0", styles['Heading1']) 
elements0[1] -> Paragraph("Very <i>Special</i>!", styles['Normal']) 
elements0[2] -> [Paragraph("The Platypus1", styles['Heading1']), Paragraph("Very <i>Special</i>!", styles['Normal']) 

elements2 = elements0 + elements1 
+0

:-)好..除此之外,我感覺真正的跛腳:-(..我在Reportlab的詳細信息中迷失了...非常感謝你! –