CentOS实现html转pdf

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

  • yum install wkhtmltopdf # 转换工具,将HTML文件或网页转换为PDF
  • yum install xorg-x11-server-Xvfb # 虚拟的X服务器,在无图形界面环境下运行图形应用程
  • yum install wqy-zenhei-fonts # 中文字体库,解决中文乱码问题
import subprocessdef 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"  # 输入的htmlpdf_file = "output.pdf"  # 输出PDFhtml_to_pdf(html_file, pdf_file)

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

  1. 输入文件参数

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

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

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/10671.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos制作openssh 9.3p2 rpm包

标题使用源码制作openssh 9.3p2 的rpm包 准备&#xff1a; 操作系统&#xff1a;CentOS Linux release 7.4.1708 (Core) #测试发现rpm包要在什么系统安装需要就需要在什么系统上制作 工具软件&#xff1a;rpm-build 源码文件&#xff1a;openssh-9.3p2.tar.gz x11-ssh-askpas…

[AT_cf_2015_relay_g]题解

洛谷链接&ATcoder链接 题目翻译&#xff1a; 您将从 n n n 种主菜和 m m m 种副菜中选择菜品来创建一道套餐。您只能选择一种主菜&#xff0c;但可以选择任意数量的副菜。此外&#xff0c;也可以选择不选任何副菜。无论是主菜还是副菜&#xff0c;每种菜品只能选择一道…

【UniApp开发小程序】悬浮按钮+出售闲置商品+商品分类选择【基于若依管理系统开发】

文章目录 界面效果界面实现悬浮按钮实现商品分类选择界面使元素均匀分布 闲置商品描述信息填写界面价格校验 界面效果 【悬浮按钮】 【闲置商品描述信息填写界面】 【商品分类选择界面】 【分类选择完成】 界面实现 悬浮按钮实现 悬浮按钮漂浮于页面之上&#xff0c;等页面…

opencv-20 深入理解HSV 色彩空间(通过指定,标记颜色等来拓展ROI区域)

RGB 色彩空间是一种被广泛接受的色彩空间&#xff0c;但是该色彩空间过于抽象&#xff0c;我们不能够直接通过其值感知具体的色彩。 我们更习惯使用直观的方式来感知颜色&#xff0c;HSV 色彩空间提供了这样 的方式。 通过 HSV色彩空间&#xff0c;我们能够更加方便地通过色调、…

Python补充笔记5-模块化、文件

目录 一、模块 二、模块的导入 三、python中的包​编辑 四、常用的内容模块 五、第三方模块的安装与使用 六、编码格式的介绍 七、文件读写的原理 八、常用的文件打开模式 ​九、文件对象的常用方法 十、with语句​编辑 十一、os模块的常用函数 十二、os.path模块的常用方法​编…

今天学学消息队列RocketMQ:消息类型

RocketMQ支持的消息类型有三种&#xff1a;普通消息、顺序消息、延时消息、事务消息。以下内容的代码部分都是基于rocketmq-spring-boot-starter做的。 普通消息 普通消息是一种无序消息&#xff0c;消息分布在各个MessageQueue当中&#xff0c;以保证效率为第一使命。这种消息…

Staples Drop Ship EDI 需求分析

Staples 是一家美国零售公司&#xff0c;总部位于马萨诸塞州弗拉明汉&#xff0c;主要提供支持工作和学习的产品和服务。该公司于 1986 年在马萨诸塞州布莱顿开设了第一家门店。到 1996 年&#xff0c;该公司已跻身《财富》世界 500 强&#xff0c;后来又收购了办公用品公司 Qu…

【深入了解pytorch】PyTorch卷积神经网络(CNN)简介

【深入了解pytorch】PyTorch卷积神经网络(CNN) PyTorch卷积神经网络(CNN)简介卷积层的原理池化层的原理全连接层的原理使用PyTorch实现CNN模型结论PyTorch卷积神经网络(CNN)简介 卷积神经网络(Convolutional Neural Network,CNN)是一种在计算机视觉任务中广泛应用的深…

MySQL优化(面试)

文章目录 通信优化查询缓存语法解析及查询优化器查询优化器的策略 性能优化建议数据类型优化索引优化 优化关联查询优化limit分页对于varchar end mysql查询过程: 客户端向MySQL服务器发送一条查询请求服务器首先检查查询缓存&#xff0c;如果命中缓存&#xff0c;则立刻返回存…

TCP/IP的分包粘包

TCP/IP的分包粘包 分包粘包介绍导致分包粘包的原因导致TCP粘包的原因&#xff1a;导致TCP分包的原因&#xff1a;避免分包粘包的措施 分包粘包介绍 因为TCP为了减少额外开销&#xff0c;采取的是流式传输&#xff0c;所以接收端在一次接收的时候有可能一次接收多个包。而TCP粘…

面试题-TS(一):TypeScript是什么?它与JavaScript有什么区别?

面试题-TS(一)&#xff1a;TypeScript是什么?它与JavaScript有什么区别? TypeScript是一种编程语言&#xff0c;它是JavaScript的超集。它通过添加静态类型、类、接口和模块等功能来扩展JavaScript。 JavaScript是一种广泛应用于Web开发的脚本语言&#xff0c;它的灵活性和…

初识mysql数据库之事务的概念及操作

目录 一、数据库多客户端访问问题 1. 数据库的CURD无限制带来的问题 2. 如何解决CURD导致的问题 二、事务的概念 1. 什么是事务 2. 事务的四个属性 3. mysql对事务的管理 4. 为什么会有事务 5. 事务的版本支持 三、事务的操作 1. 事务提交方式 2. 事务操作的准备工…

哈工大计算机网络课程局域网详解之:无线局域网

哈工大计算机网络课程局域网详解之&#xff1a;无线局域网 文章目录 哈工大计算机网络课程局域网详解之&#xff1a;无线局域网IEEE 802.11无线局域网802.11体系结构802.11&#xff1a;信道与AP关联 本节介绍一下平时经常使用的一个无线局域网技术&#xff0c;也就是通常我们使…

3ds MAX绘制茶壶

综合一下之前的内容画个茶壶 长方形&#xff0c;然后转化为可编辑多边形&#xff0c;添加节点并设置圆角&#xff0c;如下图 车削生成一个圆环&#xff0c;其实这一步也可以用一个圆柱体和两个圆角圆柱体解决 效果如下&#xff1a; 茶壶的底座绘制好了 接下来是茶壶的上半边 …

TypeScript -- 函数

文章目录 TypeScript -- 函数JS -- 函数的两种表现形式函数声明函数的表达式es6 箭头函数 TS -- 定义一个函数TS -- 函数声明使用接口(定义)ts 定义参数可选参数写法 -- ?的使用TS函数 -- 设置剩余参数函数重载 TypeScript – 函数 JS – 函数的两种表现形式 我们熟知js有两…

history命令:显示命令执行时间

1.修改配置文件 vim /etc/profile 添加内容 export HISTTIMEFORMAT"%Y-%m-%d %H:%M:%S " ​ #注意&#xff1a;在末尾的“引号”与“S”之间&#xff0c;加入一位空格&#xff0c;将日期时间和历史命令用空格相隔开来。 你也可以换一种清晰的形式&#xff0c;效果…

实验三 贪心算法

实验三 贪心算法 迪杰斯特拉的贪心算法实现 优先队列等 1.实验目的 1、掌握贪心算法的基本要素 &#xff1a;最优子结构性质和贪心选择性质 2、应用优先队列求单源顶点的最短路径Dijkstra算法&#xff0c;掌握贪心算法。 2.实验环境 Java 3.问题描述 给定带权有向图G (V…

背包问题求具体方案数问题--板子题

12. 背包问题求具体方案 - AcWing题库 思路&#xff1a;先将v[i]和w[i]先输入进去&#xff0c;然后我们进行倒叙dp&#xff0c;这个做的目的就是为了后边我们为了匹配确定路径做好准备&#xff0c;如果我们倒叙输入进去&#xff0c;我们再正序的时候就可以用推导式来进行路径输…

DevOps(四)

CD(二) 1. CDStep 1 - 上传代码Step 2 - 下载代码Step 3 - 检查代码Step 4 - 编译代码Step 5 - 上传仓库Step 6 - 下载软件Step 7 - 制作镜像Step 8 - 上传镜像Step 9 - 部署服务2. 整体预览2.1 预览1. 修改代码2. 查看sonarqube检查结果3. 查看nexus仓库4. 查看harbor仓库5.…

PTA 1052 Linked List Sorting

个人学习记录&#xff0c;代码难免不尽人意。 A linked list consists of a series of structures, which are not necessarily adjacent in memory. We assume that each structure contains an integer key and a Next pointer to the next structure. Now given a linked li…