jiatengxian 发表于 2024-7-31 14:40

python语言HTML转PDF

#转换内容仅限前端div中参数,并利用服务器渲染达到效果
#以下仅是代码片段
#利用subprocess对HTML转换成PDF
import subprocess
import os
import logging

import time
def process_pdf(url: str, random_string_secure: str):
    output_path = f'/pdf/{random_string_secure}.pdf'
    xvfb_cmd = ['xvfb-run', '--server-num=1', '--auto-servernum', '/usr/bin/wkhtmltopdf'] #指定wkhtmltopdf工具安装位置,此路径为默认路径

    try:
      #转换
      logging.info(f"Starting PDF creation for URL: {url}")
      result = subprocess.run(
            xvfb_cmd + ['--disable-javascript', '--javascript-delay', '5000', url, output_path], #渲染等待5000毫秒
            check=True,
            timeout=300,# 设置5分钟超时
            capture_output=True,
            text=True
      )

    except subprocess.TimeoutExpired as e:
      logging.error(f"PDF creation timed out: {e}")
    except subprocess.CalledProcessError as e:
      logging.error(f"Failed to create PDF: {e}")
      logging.debug(f"Command output: {e.output}")
    except Exception as e:
      logging.error(f"An unexpected error occurred: {e}")
process_pdf(url,random_string_secure)

zhufuan 发表于 2024-7-31 15:29

老师,这个有exe程序吗

jiatengxian 发表于 2024-7-31 15:50

zhufuan 发表于 2024-7-31 15:29
老师,这个有exe程序吗

没有。。。不会写.exe的程序

wapjsx 发表于 2024-7-31 15:54

jiatengxian 发表于 2024-7-31 15:50
没有。。。不会写.exe的程序

python编译模块pyinstaller 学习下。

元O帅 发表于 2024-7-31 15:57

zhufuan 发表于 2024-7-31 15:29
老师,这个有exe程序吗

想要exe的话,不如用pandoc。

泸克 发表于 2024-7-31 16:10

能逆向PDF转HTML吗

jiatengxian 发表于 2024-7-31 16:20

泸克 发表于 2024-7-31 16:10
能逆向PDF转HTML吗

#PYTHON代码转换
https://www.jb51.net/python/3173649bz.htm
#在线转换
https://wechangepdf.com/change/pdftrunhtml?source=bd-wz03&bd_vid=11369316267224886208
希望和这个对你有帮助

dork 发表于 2024-7-31 16:21

需要提前安装wkhtmltopdf

泸克 发表于 2024-7-31 16:30

jiatengxian 发表于 2024-7-31 16:20
#PYTHON代码转换
https://www.jb51.net/python/3173649bz.htm
#在线转换


收到了, 谢谢{:1_893:}

danhabill520 发表于 2024-7-31 20:28

这个很不错。学习了,感谢。
页: [1]
查看完整版本: python语言HTML转PDF