pdf生成工具-wkhtmltopdf在linux环境下遇到的坑

将在线网页生成pdf文档,目前自己找到比较合适的是wkhtmltopdf这个工具,之前好多年这个工具都没人进行维护,最近又开始维护,而且增加了目录显示,支持封面等多项功能,可算是能满足日常开发中遇到的绝大多数需求。
但是最近再用到封面目录等生成操作时候在windows环境之下执行相当成功,但是到了linux环境之下却变得不可执行,变成了命令不可识别,在这里贴上自己的生成命令:

wkhtmltopdf --outline --footer-right "[page] / [topage]" --footer-font-size 8 cover http://www.baidu.com toc --toc-header-text "目录" http://www.baidu.com /home/baidu.pdf;

在linux命令之下,单引号将剥夺其中的所有字符的特殊含义,而双引号中的 ( 参 数 替 换 ) 和 ‘ ( 命 令 替 换 ) 是 例 外 , 两 者 基 本 上 没 有 什 么 区 别 , 除 非 在 内 容 中 遇 到 了 参 数 替 换 符 (参数替换)和`(命令替换)是例外,两者基本上没有什么区别,除非在内容中遇到了参数替换符 ,和命令替换符`。
所以因为双引号的缘故,"[page] / [topage]" 被剥夺了其命令层次的语义,所以已经不能被wkhtmltopdf这个软件所识别,亦或是wkhtmltopdf在linux下便不支持双引号,其官方只是简单说的是:
在这里插入图片描述
自己在这里也没有深究其原因,只是为了避免再次调用坑,所以在这里记录一下正确打开方式:

wkhtmltopdf --outline --footer-right [page]/[topage] --footer-font-size 8 cover http://www.baidu.com toc --toc-header-text 目录 http://www.baidu.com /home/baidu.pdf;

这样便可以生成正常的pdf报告了,包含页眉页脚,目录等,会有封面,样式方面也是高度还原。
效果图:
在这里插入图片描述
附加在线生成pdf的工具跟demo实现类(java),如果已安装了旧版本的wkhtmltopdf,通过yum -y remove wkhtmltox即可卸载老版本,通过yum localinstall wkhtmltopdf-xxxx.rpm安装以下包的新wkhtmltopdf工具:
点这下载

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值