我试图使用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)发布于 2014-04-29 07:32:17
xhmlt2pdf不会对所有的网站都起作用,首先,它不适用于yahoo.com。但是它在这里不起作用的原因是,您没有向pisa提供实际的HTML文件,而是提供urllib2,您希望首先获取HTML,例如使用urllib2
url=urllib2.urlopen('http://sheldonbrown.com/web_sample1.html')
srchtml=url.read()
pisa.showLogging()
convertHtmlToPdf(srchtml, outputFilename)它会成功的。这是一个非常简单的HTML示例。
发布于 2014-04-29 07:55:46
感谢CT朱的帮助。只是把可行的一个写下来,以供参考:
from xhtml2pdf import pisa
import urllib2
url=urllib2.urlopen('http://sheldonbrown.com/web_sample1.html')
sourceHtml=url.read()
pisa.showLogging()
outputFilename = "test555.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)https://stackoverflow.com/questions/23355661
复制相似问题