Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python html转pdf

作者:若此生已赞。   发布日期:2025-05-19   浏览:47

from xhtml2pdf import pisa
from io import BytesIO

def html_to_pdf(html_content):
    # 创建一个字节流对象,用于存储生成的PDF内容
    pdf = BytesIO()

    # 使用pisa.CreatePDF函数将HTML内容转换为PDF,并保存到字节流中
    pisa_status = pisa.CreatePDF(html_content, dest=pdf)

    # 如果转换成功,返回PDF字节流;否则返回None
    if not pisa_status.err:
        return pdf.getvalue()
    else:
        return None

# 示例HTML内容
html_content = """
<!DOCTYPE html>
<html>
<head>
    <title>Test HTML to PDF</title>
</head>
<body>
    <h1>Hello, World!</h1>
    <p>This is a test of converting HTML to PDF using Python.</p>
</body>
</html>
"""

# 调用函数并打印结果
pdf_output = html_to_pdf(html_content)
if pdf_output:
    with open("output.pdf", "wb") as f:
        f.write(pdf_output)
else:
    print("Error converting HTML to PDF")

解释说明:

  1. 导入库:我们使用了xhtml2pdf库来实现HTML到PDF的转换,同时使用BytesIO来处理字节流。
  2. 定义函数 html_to_pdf:该函数接收HTML内容作为参数,并将其转换为PDF格式。转换后的PDF内容被存储在一个字节流对象中。
  3. 创建PDF:使用pisa.CreatePDF函数进行HTML到PDF的转换。如果转换成功,则返回PDF的字节内容;否则返回None
  4. 示例HTML内容:定义了一个简单的HTML字符串,包含标题和段落。
  5. 调用函数并保存PDF:调用html_to_pdf函数,并将生成的PDF内容保存到文件中。如果转换失败,则输出错误信息。

希望这段代码对你有帮助!

上一篇:python pop()方法

下一篇:python 字符串比较

大家都在看

python时间格式

python ord和chr

python中的yield

python list.pop

python的for i in range

npm config set python

python代码简单

python读取文件夹

python中turtle

python 输出时间

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站