我正在尝试使用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示例。