wkhtmltopdf 是一个开源、简单而有效的命令行 shell 程序,它可以将任何 HTML (网页)转换为 PDF 文档或图像(jpg、png 等)。

wkhtmltopdf 是用 C++ 编写的,并在 GNU/GPL (通用公共许可证)下发布。它使用 WebKit 渲染引擎将 HTML 页面转换为 PDF 文档且不会丢失页面的质量。这是一个用于实时创建和存储网页快照的非常有用且可信赖的解决方案。

wkhtmltopdf 的功能

  • 开源并且跨平台。
  • 使用 WebKit 引擎将任意 HTML 网页转换为 PDF 文件。
  • 添加页眉和页脚的选项
  • 目录生成 (TOC) 选项。
  • 提供批量模式转换。
  • 通过绑定 libwkhtmltox 来支持 PHP 或 Python。

1、安装evince pdf 浏览器

让我们在 Linux 系统中安装 evince (一个 PDF 阅读器)来浏览 PDF 文件。

yum install evince

2、然后去官网下载wkhtmltopdf 的源码进行安装。

为了能从任意路径执行程序,将 wkhtmltopdf 安装到 /usr/bin 目录下。

cp wkhtmltox/bin/wkhtmltopdf  /usr/bin

3、如何使用wkhtmltopdf

我们会看到如何将远程的 HTML 页面转换成 PDF 文件、验证信息、使用 evince 在 GNOME 桌面中浏览创建的文件。

wkhtmltopdf  http://www.baidu.com test.pdf

在centos7 上面执行上面命令会报错:

解决方法:

stackoverflow 上给出的最简单的解决方案是 安装xvfb。在centos 下面就是安装

yum install xorg-x11-server-Xvfb

然后:export DISPLAY=:0 (这个不需要也是可以的)

xvfb-run  wkhtmltopdf http://www.baidu.com test.pdf

浏览生成的pdf 文件

file  test.pdf

在桌面中使用evince 查看最新生成的pdf 文件

evince test.pdf

浏览生成的文件信息,运行下面的命令

pdfinfo test.pdf

给pdf 创建页面的目录(toc)

wkhtmltopdf  toc  http://www.baidu.com test.pdf

4、中文乱码或者空白解决方法

如果wkhtmltopdf 中文显示空白或者乱码方框

打开window C:\Windows\Fonts\simsun.ttc 拷贝到linu 服务器/usr/share/fonts 目录下,再次生成pdf 中文显示正常

解决错误参考了:https://gitee.com/cclinux/codes/03r72sqyhji8nfcx9kg1472



html 转pdf 之wkhtmltopdf相关推荐

  1. HTML 转 PDF 之 wkhtmltopdf

    wkhtmltopdf是一个可以把html转为pdf的插件,有windows.linux等平台的版本,比较简单 官网下载 https://wkhtmltopdf.org/downloads.html  ...

  2. html转换成pdf工具-wkhtmltopdf、Python生成PDF(pdfkit库)

    文章目录 一.html转换成pdf工具-wkhtmltopdf 1. 什么是wkhtmltopdf 2. 如何使用它? 3. 常见问题 error while loading shared libra ...

  3. html转为pdf工具,wkhtmltopdf html转pdf工具的使用

    wktmltopdf 工具是使用Webkit引擎来将HTML网页转换为PDF文件.其可以将一个URL对应的网页转换为HTML,也可以将存在本地的一个html 文件转换为 pdf 文件.其在应用中有两个 ...

  4. html转pdf错误wkhtmltopdf

    本人环境配置 wkhtmltopdf: 0.12.3.2 Python: 3.5.2+ 问题描述 options = {'encoding': "UTF-8",'custom-he ...

  5. html转换为pdf c#,wkhtmltopdf - 直接在C#中将html代码转换为pdf

    我找到了一个方法. 您可以设置另一个输出正常的html. 并使用该url作为wkhtml2pdf进程的输入值. - - - - - 编辑 public byte[] WKHtmlToPdf(strin ...

  6. JAVA零碎要点011---使用Java操作wkhtmltopdf实现Html转PDF

    JAVA技术交流QQ群:170933152 2.项目中刚开始用的ITEXT把html转换成pdf,但是itext只能转比较规整的html,如果有比如从 editor这种网页编辑的html的话,就有问题 ...

  7. Python编程:使用wkhtmltopdf将html网页转成pdf文件

    官网:https://wkhtmltopdf.org/ github: https://github.com/wkhtmltopdf/wkhtmltopdf Mac环境: brew install C ...

  8. java使用wkhtmltopdf将html转换成pdf

    使用wkhtmltopdf将html转换成pdf 安装wkhtmltopdf windows下载 window安装 linux安装 使用java调用wkhtmltopdf 注意 安装wkhtmltop ...

  9. Java操作wkhtmltopdf实现Html转PDF

    做java开发的都知道,java生成pdf大部分都是用itext,itext的确是java开源组件的第一选择.不过itext也有局限,就是要自己写模版,系统中的表单数量有好几百个,为每个表单做一个导出 ...

最新文章

  1. why-and-howto-calculate-your-events-per-second
  2. python list 深复制_Python中list的复制及深拷贝与浅拷贝探究
  3. css选择器 nth-child
  4. centos linux编译c,紧急提醒!Linux是如何编译C语言程序文件的?CentOS 8的gcc使用方法介绍...
  5. python pycharm 如何绘制类图 关系图 继承图 父子图?
  6. 如何在 C# 中使用 MSMQ
  7. mysql磁盘临时表清理_mysql 创建大量磁盘临时表
  8. [ASP]没有权限: 'CreateObject'
  9. r中gglot怎么组合多张图_继电器组合扫盲篇
  10. 26.1-2 知识产权与标准规范(标准规范)
  11. oracle8i odac for c,ODAC for delphi
  12. 干货!面向多源数据融合的睡眠时序分类方法研究
  13. netty 之 异步处理双子星io.netty.util.concurrent.Future与io.netty.util.concurrent.Promise
  14. 程序员如何通过兼职赚钱?有哪些渠道?
  15. eclipes工具介绍及下载安装汉化
  16. 2022年度总结与2023未来规划
  17. 利用SUS实现自动补丁管理
  18. vrchat合并账号
  19. Revit中土建模块【精准生梁】快速生成
  20. C: Warning: implicit declaration of function ‘e‘; did you mean ‘el‘?[-Wimplicit-function-declaration

热门文章

  1. 雅虎黑客事件严重 Verizon表示可能放弃收购
  2. 配置MRTG监控网络流量简单方法
  3. mysql Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) fo...
  4. 浅谈网站流量上不去的原因
  5. 房屋租赁合同中押金的法律性质分析
  6. PC端体验效果最佳epub阅读器——iRead爱读书
  7. 基于PHP的快递查询免费开放平台案例-快宝开放平台
  8. android全屏视频播放,JieCaoVideoPlayer真正实现Android的全屏视频播放
  9. 【SLAM学习】(二)相机原理
  10. python 网格交易源码_【宽客策略源码】网格交易(期货)