Tukar fail HTML kepada PDF menggunakan WeasyPrint
P粉729198207
P粉729198207 2023-09-11 14:54:49
0
1
605

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粉729198207
P粉729198207

membalas semua(1)
P粉384679266

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()
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan