python将html转pdf
时间: 2024-09-14 20:09:47 浏览: 73
Python中可以使用一些第三方库来将HTML转换成PDF格式,其中比较流行的是`weasyprint`和`pypandoc`。
1. `weasyprint`: 这是一个基于CSS的HTML排版引擎,它可以将HTML文档渲染成PDF。首先需要安装`weasyprint`库,然后创建一个简单的步骤:
```python
from weasyprint import HTML
def html_to_pdf(html_content, output_path):
html = HTML(string=html_content)
pdf = html.write_pdf()
with open(output_path, 'wb') as f:
f.write(pdf)
# 使用示例
html_to_pdf('<html>...</html>', 'output.pdf')
```
2. `pypandoc`: 如果你愿意,还可以使用`pypandoc`结合Pandoc这个强大的文档转换工具,它的功能更加强大,支持多种格式间的转换。安装`pypandoc`后,可以这样操作:
```python
import pypandoc
def html_to_pdf_pandoc(html_content, output_path):
pdf = pypandoc.convert_text(html_content, 'pdf', format='html')
with open(output_path, 'w+b') as f:
f.write(pdf)
# 使用示例
html_to_pdf_pandoc('<html>...</html>', 'output.pdf')
```
注意,这两种方式都需要相应的HTML内容,并且你需要在系统上安装对应的字体和依赖才能保证生成的PDF质量良好。
阅读全文