首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用xhtml2pdf将网页打印成PDF格式

使用xhtml2pdf将网页打印成PDF格式
EN

Stack Overflow用户
提问于 2014-04-29 04:43:31
回答 2查看 6.5K关注 0票数 2

我试图使用xhtml2pdf打印到本地磁盘PDF文件的网页。下面是一个例子。

它运行并且不返回错误。然而,它并不转换网页,而只是一个句子。在这种情况下,只有'http://www.yahoo.com/‘被写入PDF文件。

我如何将网页实际转换成PDF格式?

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-29 07:32:17

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

代码语言:javascript
复制
url=urllib2.urlopen('http://sheldonbrown.com/web_sample1.html')
srchtml=url.read()
pisa.showLogging()
convertHtmlToPdf(srchtml, outputFilename)

它会成功的。这是一个非常简单的HTML示例。

票数 3
EN

Stack Overflow用户

发布于 2014-04-29 07:55:46

感谢CT朱的帮助。只是把可行的一个写下来,以供参考:

代码语言:javascript
复制
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)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23355661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档