2017-05-17 72 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的问题。 –