[英]Python using xhtml2pdf to print webpage into PDF
我正在嘗試使用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示例。
多虧朱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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.