2017-05-17 145 views
0

我在製作一個基本的PDF文檔時,在python中有一個表格的麻煩,我想知道如何讓我的表格顯示在PDF上,因爲我不確定它是如何沒有顯示,這裏是供參考的代碼。蟒蛇pdf表格

import time 
from reportlab.lib.enums import TA_JUSTIFY 
from reportlab.lib import colors 
from reportlab.lib.pagesizes import A4, inch, landscape, letter 
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Image, Table, TableStyle 
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle 
from reportlab.lib.units import inch 

doc = SimpleDocTemplate("code challenge1.pdf",pagesize=letter, 
         rightMargin=72,leftMargin=72, 
         topMargin=72,bottomMargin=18) 
Story=[] 
  
formatted_time = time.ctime() 
full_name = "Mike Driscoll" 
address_parts = ["411 State St.", "Marshalltown, IA 50158"] 
  
styles=getSampleStyleSheet() 
styles.add(ParagraphStyle(name='Justify', alignment=TA_JUSTIFY)) 
ptext = '<font size=12>%s</font>' % formatted_time 
  
Story.append(Paragraph(ptext, styles["Normal"])) 
Story.append(Spacer(1, 12)) 


data = [ 
["Activity", "Times/wk」, "Time of day", "Description"], 
["B", "01", "ABCD", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"], 
["E", "02", "CDEF", "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"], 
["E", "03", "SDFSDF", "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"], 
["e", "04", "SDFSDF", "DDDDDDDDDDDDDDDDDDDDDDDD DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"], 
["x", "05", "GHJGHJGHJ", "EEEEEEEEEEEEEE EEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEEE"], 
] 
  
style = TableStyle([('ALIGN',(1,1),(-2,-2),'RIGHT'), 
                       ('TEXTCOLOR',(1,1),(-2,-2),colors.red), 
                       ('VALIGN',(0,0),(0,-1),'TOP'), 
                       ('TEXTCOLOR',(0,0),(0,-1),colors.blue), 
                       ('ALIGN',(0,-1),(-1,-1),'CENTER'), 
                       ('VALIGN',(0,-1),(-1,-1),'MIDDLE'), 
                       ('TEXTCOLOR',(0,-1),(-1,-1),colors.green), 
                       ('INNERGRID', (0,0), (-1,-1), 0.25, colors.black), 
                       ('BOX', (0,0), (-1,-1), 0.25, colors.black), 
                       ]) 
   
s = getSampleStyleSheet() 
s = s["BodyText"] 
s.wordWrap = 'CJK' 
data2 = [[Paragraph(cell, s) for cell in row] for row in data] 
t=Table(data2) 
t.setStyle(style) 
  
Story.append(t) 
ptext = '<font size=12>I wanted to code ever since I was young, and have done mods for videogames I liked and played. It’s been my childhood dream to create worlds and stories, and coding is the best way to script events the way you want them to go. While this may not be exactly what I’m looking for, I think it’ll give me an accurate experience of what that life is like.</font>' 
Story.append(Paragraph(ptext, styles["Justify"])) 


doc.build(Story) 

回答

0

我不確定你要去哪裏錯,但我最近做了一些非常相似的事情。我發現這個網站PdfGen有一個很好的例子,你正在嘗試做什麼,如果你遵循它,你將能夠創建你正在尋找的模板。

0

這只是一個錯字 - 你用」而不是「在第26行(右雙引號代替普通引號)

這裏的文檔等進行固定之後的樣子:

PDF Preview

+0

@phd - 這不是一個有效的答案嗎?我只是看着,實際上,OP有一個無效的引號.Kris聲明他在修正這個問題之後運行了代碼,並得到了正確的輸出結果。 –

+0

對不起,如果沒有關於他的代碼提高SyntaxError OP的額外信息,它肯定是我這不是一個答案。看來你們兩人私下交談過,不是嗎? (凱文,不是克里斯吧?) – phd

+0

@phd - 什麼私人對話???你爲什麼會這麼想?我在網站上的一個審查隊列中看到了這一點,同時審查了新用戶的「第一答案」(我在這裏做了大量的內容審查)。這個問題本身質量很差(例如「爲什麼我的代碼不工作」)並且沒有顯示輸出或錯誤,但提供的答案雖然可以*作爲評論,可能實際上解決了OP的問題。 –