好友
阅读权限10
听众
最后登录1970-1-1
|
#转换内容仅限前端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) |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|