簡體   English   中英

Python使用xhtml2pdf將網頁打印成PDF

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM