1

我是 xhtml2pdf 和 python 的新手,用 python 以可读格式编写 html 代码有点麻烦。我想知道如何在比萨文档中包含 .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 文件中,并包含在最后一行中,例如:

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

我如何解决这个问题?

4

1 回答 1

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 放入一个 html 文件中,myTemplate.html例如调用会更好。然后你可以像这样读取文件:

template = open("myTemplate.html")
pdf = pisa.CreatePDF(template.read(), file(filename, "w"))
template.close()
于 2014-02-23T17:21:21.387 回答