Rumah > Soal Jawab > teks badan
Saya mempunyai banyak fail HTML dan saya mahu menyimpannya sebagai fail PDF tempatan
Jadi saya cuba menggunakan weasyprint untuk menukar, tetapi tidak berjaya
Bolehkah seseorang membantu saya menulis kod?
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
Saya mempunyai fail HTML secara tempatan dan mahu menyimpan fail PDF secara setempat juga
Saya telah melaksanakan jawapannya
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文件已写入至:{pdf_file_path}') except Exception as e: print(str(e))
Dan ralat berikut berlaku
需要一个类似字节的对象,而不是'NoneType'
P粉3846792662023-09-12 13:53:44
Jika fail HTML anda ialah rentetan, anda harus menggunakan kaedah HTML(string=html_string).write_pdf()
.
Walau bagaimanapun, jika ia adalah fail dalam direktori tempatan anda, anda harus menggunakan kaedah HTML(filename=html_file_path).write_pdf()
.
Kod adalah seperti berikut:
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文件已写入:{pdf_file_path}') except Exception as e: print(str(e)) pdf_generate()