我有很多HTML文件,我想將它們保存為本地的PDF文件
所以我嘗試使用weasyprint來(lái)進(jìn)行轉(zhuǎn)換,但是無(wú)法成功
有人可以幫我寫(xiě)代碼嗎?
def pdf_generate(): try: pdf_file = HTML(string='56129.html').write_pdf() with open("my_pdf_file.pdf", 'wb') as f: f.write(pdf_file) except Exception as e: print(str(e)) return None
我有HTML文件在本地,并且也想將PDF文件保存在本地
我已經(jīng)實(shí)現(xiàn)了答案
def pdf_generate(): try: #將'56129.html'替換為你的HTML文件的路徑 html_file_path = 'farm_management/scripts/56129.html' html = HTML(filename=html_file_path) pdf_file_path = 'my_pdf_file.pdf' pdf_file = html.write_pdf(pdf_file_path) with open("my_pdf_file.pdf", 'wb') as f: f.write(pdf_file) print(f'PDF文件已寫(xiě)入至:{pdf_file_path}') except Exception as e: print(str(e))
并且出現(xiàn)了以下錯(cuò)誤
需要一個(gè)類(lèi)似字節(jié)的對(duì)象,而不是'NoneType'
如果您的HTML文件是一個(gè)字符串,您應(yīng)該使用HTML(string=html_string).write_pdf()
方法。
但是,如果它是您本地目錄中的一個(gè)文件,您應(yīng)該使用HTML(filename=html_file_path).write_pdf()
方法。
代碼如下:
from weasyprint import HTML def pdf_generate(): try: # 將'56129.html'替換為您的HTML文件的路徑 html_file_path = '56129.html' html = HTML(filename=html_file_path) pdf_file_path = 'my_pdf_file.pdf' html.write_pdf(pdf_file_path) print(f'PDF文件已寫(xiě)入:{pdf_file_path}') except Exception as e: print(str(e)) pdf_generate()