您的位置:

Python HTML 转 PDF

一、PyPDF2 模块介绍

PyPDF2是一个用于操作PDF文件的Python库,它可以合并、裁剪、旋转、分割、加密、解密、转换PDF页到图像(JPEG,JPG,PNG等),以及将HTML转化为PDF格式等。PyPDF2提供了创建、阅读和更新PDF文档的功能,并且容易使用。

import PyPDF2

pdf_file = open('example.pdf', 'rb')
read_pdf = PyPDF2.PdfFileReader(pdf_file)

# 获取PDF页数
pages = read_pdf.getNumPages()
print(pages)

# 获取PDF页内容
for page_num in range(pages):
    page = read_pdf.getPage(page_num)
    content = page.extractText()
    print(content)

pdf_file.close()

二、pdfkit 模块介绍

pdfkit是一个Python模块,它使用WebKit来将HTML内容转换成PDF文件。该模块可以让你轻松地将HTML文件转换成PDF文件,并支持表格、图像和其他HTML元素。pdfkit还支持设置生成PDF文件的页面大小和方向。

import pdfkit

# HTML转PDF
pdfkit.from_file('example.html', 'example.pdf')

# 设置页面大小
pdfkit.from_file('example.html', 'example.pdf', options={
    'page-size': 'Letter',
    'margin-top': '0.75in',
    'margin-right': '0.75in',
    'margin-bottom': '0.75in',
    'margin-left': '0.75in'
})

三、WeasyPrint 模块介绍

WeasyPrint是一个纯Python模块,它将HTML/CSS文档转换为PDF文件。可以使用WeasyPrint轻松地将HTML格式的文件转换为精美的PDF格式。

WeasyPrint是一个开放源代码项目,可以在Linux、macOS、Windows等各种平台上运行。它使用WebKit来呈现HTML/CSS,并将其转换为PDF文件。

import weasyprint

# HTML转PDF
weasyprint.HTML('example.html').write_pdf('example.pdf')

# 指定页面大小
weasyprint.HTML('example.html').write_pdf('example.pdf', stylesheets=[
    weasyprint.CSS('styles.css'),
], size=(800, 600))

四、Conclusion

以上就是Python中常见的HTML转换PDF方法。使用这些模块,您可以轻松地将HTML内容转换成高质量的PDF文件,并将其保存在本地或上传到服务器。如果您需要将HTML格式的数据转换成PDF格式,那么这些模块就是您的选择。