如何在python中包含pisa文件xhtml2pdf中的html文件?

时间:2014-02-23 15:53:21

标签: python html pisa

我是python的xhtml2pdf的新手,用可读格式的python编写html代码有些麻烦。我想知道如何在pisa文档中包含.html文件。这是我创建pdf文件的简单代码:

from xhtml2pdf import pisa   
def main():
    filename = "simplePrint.pdf"    
    # generate content
    xhtml = "<h1 align='center'>Test print</h1>\n"
    xhtml += "<h2>This is printed from within a Python application</h2>\n"
    xhtml += "<p style=\"color:red;\">Coloured red using css</p>\n"          
    pdf = pisa.CreatePDF(xhtml, file(filename, "w"))
if __name__ == "__main__":
    main()

如果html的代码太大,我想制作另一个模块,将其放在myHtml.html文件中并包含在第3行的最后一行中:

pdf = pisa.CreatePDF(myHtml.html, file(filename, "w"))

我是如何解决这个问题的?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,那么您想要的可能是与上面代码myHtml.py相同的目录中的另一个文件,如下所示:

html = "<h1 align='center'>Test print</h1>\n"
html += "<h2>This is printed from within a Python application</h2>\n"
html += "<p style=\"color:red;\">Coloured red using css</p>\n"

然后在上面的代码import myHtml开头。

但是,我相信如果你将html放入一个名为myTemplate.html的html文件中会更好。然后你可以这样读取文件:

template = open("myTemplate.html")
pdf = pisa.CreatePDF(template.read(), file(filename, "w"))
template.close()