python3 6 3中html頁面轉化成pdf

2022-05-04 19:57:21 字數 2263 閱讀 3978

通常在工作中經常會遇見將某些好的html資料轉換成pdf,便於儲存和閱讀,今天就來看看這個簡單的html轉換pdf模組:pdfkit

安裝python-pdfkit模組:

$ pip install pdfkit

作業系統安裝wkhtmltopdf模組:

簡單的例子:

import pdfkit

pdfkit.from_file('test.html', 'out.pdf')            #獲取本地html檔案進行轉換生成本地out.pdf文件

pdfkit.from_string('hello!', 'out.pdf')             #將輸入的文字轉換生成本地out.pdf文件

可以將多個url或者檔案放到乙個列表中進行轉換:

pdfkit.from_url(['google.com', 'yandex.ru', 'engadget.com'], 'out.pdf')

pdfkit.from_file(['file1.html', 'file2.html'], 'out.pdf')

開啟檔案讀取資料進行轉換:

with open('file.html') as f:

pdfkit.from_file(f, 'out.pdf')

如果你想進一步生成 pdf, 你可以傳遞乙個引數:

# 使用  false 代替輸出儲存乙個可變的pdf

pdf = pdfkit.from_url('', false)

你可以指定 wkhtmltopdf 選項. 在名稱中你可以刪除 『–』. 如果選擇沒有值, 使用none, false or 「」,對於重複的選擇 (允許,cookie,自定義標題,發布,postfile,執行指令碼,替換) 在多個值的時候你可能會用到列表或者元組進行儲存 (列入自定義標頭檔案授權資訊) 你需要兩個元組存放 (看看以下例子).

options = 

pdfkit.from_url('', 'out.pdf', options=options)

預設情況, pdfkit 會顯示 wkhtmltopdf 全部輸出 . 如果你不想使用它,可以通過靜態配置來選擇:

options = 

pdfkit.from_url('google.com', 'out.pdf', options=options)

由於wkhtmltopdf命令語法,toc和cover選項必須單獨指定。如果你需要覆蓋之前,使用cover_first選項:

toc = 

cover = 'cover.html'

pdfkit.from_file('file.html', options=options, toc=toc, cover=cover)

pdfkit.from_file('file.html', options=options, toc=toc, cover=cover, cover_first=true)

你可以在使用css選項轉換檔案或字串時指定外部css檔案.

警告:這是在wkhtmltopdf這個錯誤的解決方法。您應該首先嘗試使用-user-style-sheet選項。.

# single css file

css = 'example.css'

pdfkit.from_file('file.html', options=options, css=css)

# multiple css files

css = ['example.css', 'example2.css']

pdfkit.from_file('file.html', options=options, css=css)

你可以在html中元素標籤中傳遞任何選項:

body = """

hello world!

"""pdfkit.from_string(body, 'out.pdf') #with --page-size=legal and --orientation=landscape

每個api呼叫都需要乙個可選的配置引數。這應該是pdfkit.configuration()api呼叫的乙個例項。它將配置選項作為初始引數。可用的選項是:

例子- 針對 wkhtmltopdf 不在預設 $path路徑下的情況:

config = pdfkit.configuration(wkhtmltopdf='/opt/bin/wkhtmltopdf')

pdfkit.from_string(html_string, output_file, configuration=config)

Python3 6 3中pyltp的安裝錯誤總結

error command f program files x86 microsoft visual studio 2017 communit y vc tools msvc 14.12.25827 bin hostx86 x64 cl.exe failed with exit status 2 第...

乙個python3 6 3的疑惑

首先申明一下,我是個新手小白,在學習python的目錄操作時,遇到了乙個讓我疑惑的問題,希望有大佬能解釋一下其中的原理 感謝 獲取當前路徑 path os.getcwd 建立乙個字典 dict 遍歷路徑下的所有檔案 for root,dirs,files in os.walk path,topdow...

Python獲取html頁內容

乙個簡單的python獲取html頁面 版本說明 testing system os windows 7 python 3.7.2 tags v3.7.2 9a3ffc0492,dec 23 2018,22 20 52 msc v.1916 32 bit intel on win32 安裝模組 1....