我正在尝试使用xhtml2pdf将网页打印到本地磁盘PDF文件中。下面是一个例子。
它运行并且不返回错误。但是它不会转换网页,只是一个句子。在这种情况下,只有'http://www.yahoo.com/'被写入PDF文件。
如何将网页转换为PDF格式?

from xhtml2pdf import pisa

sourceHtml = 'http://www.yahoo.com/'
outputFilename = "test.pdf"

def convertHtmlToPdf(sourceHtml, outputFilename):
    resultFile = open(outputFilename, "w+b")
    pisaStatus = pisa.CreatePDF(sourceHtml,resultFile)
    resultFile.close()
    return pisaStatus.err

if __name__=="__main__":
    pisa.showLogging()
    convertHtmlToPdf(sourceHtml, outputFilename)

最佳答案

xhmlt2pdf不适用于所有网站,例如,它不适用于yahoo.com。但它在这里不起作用的原因是您没有向pisa提供实际的HTML文件,而是提供URL,您希望首先获取HTML,例如使用urllib2

url=urllib2.urlopen('http://sheldonbrown.com/web_sample1.html')
srchtml=url.read()
pisa.showLogging()
convertHtmlToPdf(srchtml, outputFilename)

它会起作用的。这是一个非常简单的HTML示例。

09-20 10:30