CentOS实现html转pdf

CentOS使用实现html转PDF,需安装以下软件:

  • yum install wkhtmltopdf # 转换工具,将HTML文件或网页转换为PDF
  • yum install xorg-x11-server-Xvfb # 虚拟的X服务器,在无图形界面环境下运行图形应用程
  • yum install wqy-zenhei-fonts # 中文字体库,解决中文乱码问题
import subprocess


def html_to_pdf(html_file, pdf_file):
    command = f'xvfb-run -a wkhtmltopdf {html_file} {pdf_file}'
    try:
        subprocess.run(command, shell=True, check=True)
    except subprocess.CalledProcessError as e:
        print(f"Error occurred: {e}")


if __name__ == "__main__":
    html_file = "input.html"  # 输入的html
    pdf_file = "output.pdf"  # 输出PDF
    html_to_pdf(html_file, pdf_file)

以下是常用的一些 wkhtmltopdf 参数介绍:

  1. 输入文件参数

    • :指定要转换为 PDF 的输入文件或网页 URL。
    • -:将标准输入作为输入文件。
  2. 输出文件参数

    • :指定生成的 PDF 文件的输出路径和文件名。
  3. 页面尺寸参数

    • --page-size :指定页面尺寸,如 A4、Letter、Legal 等,默认为 A4。
    • --page-width :指定页面宽度,可以使用像素(px)、毫米(mm)、英寸(inch)等单位。
    • --page-height :指定页面高度,可以使用像素(px)、毫米(mm)、英寸(inch)等单位。
  4. 页边距参数

    • --margin-top :指定页面顶部边距。
    • --margin-bottom :指定页面底部边距。
    • --margin-left :指定页面左边距。
    • --margin-right :指定页面右边距。
  5. 设置页眉页脚参数

    • --header-html :指定用于页眉的 HTML 文件或网页 URL。
    • --footer-html :指定用于页脚的 HTML 文件或网页 URL。
  6. 其它参数

    • --no-outline:不在 PDF 中包含目录和书签。
    • --dpi :指定渲染的 DPI (dots per inch) 分辨率,默认为 96 DPI。
    • --javascript-delay :设置 JavaScript 执行的延迟时间(毫秒)。

完整的 wkhtmltopdf 参数列表和更多详细信息,可以通过在终端中运行 wkhtmltopdf --help 命令来查看

你可能感兴趣的:(python,html,pdf,wkhtmltopdf)