步骤一,wkhtmltopdf 下载
官网地址: wkhtmltopdf 根据系统类型下载需要安装版本,作者使用的是。centos 7系统服务器作为服务安装wkhtmltopdf
步骤二,下载完成后, 上传至安装服务器。
步骤三,执行安装命令: rpm -ivh wkhtmltox-0.12.6-1.centos7.x86_64.rpm
若出现以下提示,不要慌。只是缺少相关依赖提示。根据提示内容把相关的依赖安装就好。如果没有相关提示,说明服务器上已安装过相关依赖。只要根据安装提示内容查看最后是否安装成功就可以了。直接跳到步骤:五
步骤四,执行命令安装相关依赖: yum -y install fontconfig libX11 libXext libXrender xorg-x11-fonts-75dpi xorg-x11-fonts-Type1 libjpeg*
等待安装结束后,再执行wkhtmltopdf 安装命令:
rpm -ivh wkhtmltox-0.12.6-1.centos7.x86_64.rpm
提示安装完成后。
步骤五,执行命令检查是否成功: wkhtmltopdf -V 或者 wkhtmltopdf --version
步骤六,没有问题后,可以执行命令来验证,wkhtmltopdf 效果
命令说明:wkhtmltopdf 【html文件】 【生成的pdf存放路劲以及名称】
html文件:可以是网址,也可以是本地或者远程可以访问到的文件
例如:wkhtmltopdf /tmp/test.html /config/natives/test.pdf
这里作者,用www.baidu.com做演示。
wkhtmltopdf https://www.baidu.com /config/natives/baidu.pdf
若出现相关提示,也莫慌。只是某些依赖需要更新或者安装。只要根据提示安装相关依赖就行。例如这个提示,执行:yum -y install libjpeg* 就可以了。
再执行上面的步骤,作者已经把相关依赖放到了步骤四的命令中。此处主要说明如果出现其它依赖未安装,或者未更新的提示后,只要这么操作就行了。
然后再执行: wkhtmltopdf https://www.baidu.com /config/natives/baidu.pdf
OK,成功。下载转换成功文件。查看效果。
发现,转换成功。但出现中文乱码。不急,接着往下操作。转换pdf需要系统支持一些中文字体样式。
下载一个simsun.ttf文件到,安装服务器的:/usr/share/fonts/ 目录下。
然后在执行: wkhtmltopdf --encoding UTF-8 https://www.baidu.com /config/natives/baidu4.pdf
OK,成功。再来查看效果。
搞定,wkhtmltopdf 基本的安装跟使用。总算完成了。更细的操作,以及命令,可以自行再多研究研究。也可以看看官方相关文档。以下是 wkhtmltopdf 相关命令说明:
全局选项--------------------------------------------------------------------------------
--collate 打印多份时进行校验(默认)
--no-collate 打印多个文件时不要进行校验
--cookie-jar <path> 从提供的cokkie-jar文件中读取和写入cookie
--copies <number> 要打印到PDF文件中的份数(默认为1)
-d, --dpi <dpi> 明确更改dpi(这对基于X11的系统没有影响)(默认为96)
-H, --extended-help 命令帮助符,展示全部命令
-g, --grayscale PDF将以灰度形式生成
--htmldoc 输出程序html帮助
-image-dpi <integer> 嵌入图像时,将其缩小到此dpi(默认为600)
--image-quality <integer> jpeg压缩图像时使用此质量(默认值94)
--license 输出许可证信息并退出
--log-level <level> 将日志级别设置为:无(none)、错误(error)、警告(warn)或信息(默认信息info)
-l, --lowquality 生成较低质量的pdf/ps。有助于缩小结果文档空间
--manpage 输出程序手册页
-B, --margin-bottom <> 设置页面底部边距
-L, --margin-left <> 设置页面左边距(默认为10mm)
-R, --margin-right <> 设置页面右边距(默认为10mm)
-T, --margin-top <> 设置页面的上边距
-O, --orientation <> 将方向设置为横向或纵向(默认纵向)
--page-height <> 页高
-s, --page-size <> 将纸张大小设置为:A4、字母等。(默认A4)
--page-width <> 页宽
--no-pdf-compression 不要对pdf对象使用无损压缩
-q, --quiet 减少冗长,保持向后兼容性;与使用--log level none相同
--read-args-from-stdin 从stdin读取命令行参数
--readme 输出程序介绍
--title <text> 生成的pdf文件的标题(如果未指定,则使用第一个文档的标题)
--use-xserver 使用X服务器(没有X11,一些插件和其他东西可能无法工作)
-V, --version 输出版本信息并退出
大纲选项------------------------------------------------------------------------------
--dump-default-toc-xsl 将默认的TOC xsl样式表转储到stdout
--dump-outline <file> 将大纲转储到文件中
--outline 将大纲放入pdf(默认)
--no-outline 不将大纲放入pdf
--outline-depth <level> 设置轮廓的深度(默认值4)
页面选项------------------------------------------------------------------------------
--allow <path> 允许加载指定旧版本的一个或多个文件(可重复)
--background 打印背景(默认)
--no-background 不打印背景
--bypass-proxy-for <value> 绕过主机代理(可重复)
--cache-dir <path> Web缓存目录
--checkbox-checked-svg <path> 在呈现复选框时使用此SVG文件
--checkbox-svg <path> 在呈现未选中的复选框时使用此SVG文件
--cookie <name> <value> 设置一个额外的cookie(可重复),值应为url编码
--custom-header <name> <value> 设置额外的HTTP头(可重复)
--custom-header-propagation 为每个资源请求添加由--custom header指定的HTTP头
--no-custom-header-propagation 不要为每个资源请求添加由--custom header指定的HTTP头
--debug-javascript 显示javascript调试输出
--no-debug-javascript 不显示javascript调试输出(默认)
--default-header 添加一个默认的页眉,左边是页面名称,右边是页码,这是--header left='[webpage]'--header right='[page]/[toPage]'--顶部2厘米--页眉行的缩写
--encoding <encoding> 为输入设置默认文本编码
--disable-external-links 不要链接到远程网页
--enable-external-links 创建指向远程网页的链接(默认)
--disable-forms 不要将HTML表单字段转换为pdf表单字段(默认)
--enable-forms 将HTML表单字段转换为pdf表单字段
--images 加载或打印图像(默认)
--no-images 不加载或打印图像
--disable-internal-links 不要建立本地链接
--enable-internal-links 创建本地链接(默认)
-n, --disable-javascript 不允许网页运行javascript
--enable-javascript 允许网页运行javascript(默认)
--javascript-delay <msec> 等待几毫秒,等待javascript完成(默认值为200)
--keep-relative-links 将相对外部链接保持为相对外部链接
--load-error-handling <handler> 指定如何处理未能加载的页面:中止(abort)、忽略(ignore)或跳过(skip)(默认中止)
--load-media-error-handling <handler> 指定如何处理无法加载的媒体文件:中止(abort)、忽略(ignore)或跳过(skip)(默认忽略)
--disable-local-file-access 不允许将本地文件转换为读取其他本地文件,除非使用--allow(默认值)明确允许
--enable-local-file-access 允许将本地文件转换为读取其他本地文件
--minimum-font-size <int> 最小字体大小
--exclude-from-outline 不要将该页包含在目录和大纲中
-include-in-outline 将页面包括在目录和大纲中(默认)
--page-offset <offset> 设置起始页码(默认为0)
--password <password> HTTP身份验证密码
--disable-plugins 禁用已安装的插件(默认)
--enable-plugins 启用已安装的插件(插件可能无法工作)
--post <name> <value> 添加额外的帖子字段(可重复)
--post-file <name> <path> 发布附加文件(可重复)
--print-media-type 使用打印媒体类型而不是屏幕
--no-print-media-type 不使用打印介质类型而不是屏幕(默认)
-p, --proxy <proxy> 使用代理
--proxy-hostname-lookup 使用代理解析主机名
--radiobutton-checked-svg <path> 在呈现选中的单选按钮时使用此SVG文件
--radiobutton-svg <path> 在呈现未选中的单选按钮时使用此SVG文件
--resolve-relative-links 将相对外部链接解析为绝对链接(默认)
--run-script <js> 在页面加载完成后运行额外的javascript(可重复)
--disable-smart-shrinking 禁用WebKit使用的使像素/dpi比率非恒定的智能收缩策略
--enable-smart-shrinking 启用WebKit使用的智能收缩策略,使像素/dpi比率非恒定(默认)
--ssl-crt-path <path> OpenSSL PEM格式的ssl客户端证书公钥的路径,可选地后跟中间ca和受信任证书
--ssl-key-password <password> ssl客户端证书私钥的密码
--ssl-key-path <path> OpenSSL PEM格式的ssl客户端证书私钥路径
--stop-slow-scripts 停止缓慢运行的Java脚本(默认)
--no-stop-slow-scripts 不要停止缓慢运行的Java脚本
--disable-toc-back-links 不从节头链接到toc(默认)
--enable-toc-back-links 从节头到目录的链接
--user-style-sheet <path> 指定要随每页加载的用户样式表
--username <username> HTTP身份验证用户名
--viewport-size <> 如果有自定义滚动条或css属性溢出来模拟窗口大小,请设置视口大小
--window-status <windowStatus> 等到窗户。在呈现页面之前,状态等于此字符串
--zoom <float> 使用此缩放因子(默认为1)
页眉和页脚选项-------------------------------------------------------------------------
--footer-center <text> 居中的页脚文本
--footer-font-name <name> 设置页脚字体名称(默认为Arial)
--footer-font-size <size> 设置页脚字体大小(默认为12)
--footer-html <url> 添加一个html页脚
--footer-left <text> 左对齐页脚文本
--footer-line 在页脚上方显示行
--no-footer-line 不在页脚上方显示行(默认)
--footer-right <text> 右对齐的页脚文本
--footer-spacing <real> 页脚和内容之间的间距(mm)(默认值为0)
--header-center <text> 居中标题文本
--header-font-name <name> 设置标题字体名称(默认为Arial)
--header-font-size <size> 设置页眉字体大小(默认为12)
--header-html <url> 添加一个html标题
--header-left <text> 左对齐标题文本
--header-line 标题下方的显示行
--no-header-line 无标题行不显示标题下方的行(默认)
--header-right <text> 右对齐标题文本
--header-spacing <real> 标题和内容之间的间距(mm)(默认为0)
--replace <name> <value> 将[name]替换为页眉和页脚中的值(可重复)
TOC选项--------------------------------------------------------------------------------**
--disable-dotted-lines 不要在toc中使用虚线
--toc-header-text <text> toc的标题文本(默认目录)
--toc-level-indentation <width> 对于toc中的每一级标题,按此长度缩进(默认为1em)
--disable-toc-links 不要从toc链接到章节
--toc-text-size-shrink <real> 对于toc中的每一级标题,字体按此系数缩放(默认值为0.8)
--xsl-style-sheet <file> 使用提供的xsl样式表打印目录