如何使用Python中的Reportlab和Pisa从HTML文件生成PDF文件?

时间:2015-11-24 00:27:45

标签: python html pdf reportlab pisa

按照以下代码设置,使用Reportlab和Python中的Pisa生成PDF文档。

@user_ip = request.remote_ip.delete(".").to_i

我的HTML文件包含标准HTML内容。

它是完全限定的路径,并且.html扩展名被分配给output_file变量。

这样称呼:

127001

收到此错误:

import cStringIO
import ho.pisa as pisa

def html_to_pdf(data, filename, open=False):
    pdf = pisa.CreatePDF(
        cStringIO.StringIO(data),
        file(filename, "wb"))

这是pip冻结产量的“部分列表”。

with open(output_file, "r") as my_file:
        contents = my_file.read()

html_to_pdf(contents, dest_pdf_file, open=True)

好像安装问题一样......

有谁知道如何解决这个或用于生成HTML文件到PDF的任何替代方法(方法和/或不同的库)?

1 个答案:

答案 0 :(得分:0)

搞定了......卸载并重新安装了比萨,它有效! :)

sudo easy_install pisa

我的代码:

import cStringIO
import ho.pisa as pisa

class FileUtil:
    @staticmethod
    def html_to_pdf(html, output_file):
        pdfFile = file(output_file, "wb")
        pdf = pisa.CreatePDF(
            cStringIO.StringIO(html.encode("ISO-8859-1")), pdfFile)
        pdfFile.close()