介绍
wkhtmltopdf是一个开源的C语言开发的命令行工具, 它通过Qt WebKit渲染引擎将HTML转换成PDF, 它可以完全不依赖于图形用户界面, 例如它在Linux Server上运行可以不依赖于X11. 官网: 请输入链接描述
命令行运行方式:
1 | wkhtmltopdf http://google.com google.pdf |
更多的运行参数参考: https://wkhtmltopdf.org/usage/wkhtmltopdf.txt
Java工具类:
因为wkhtmltopdf是一个简单易用的命令行工具, 我们可以简单通过命令很简单调用它为帮助转换PDF.
以下是一个简单的Java工具类, 帮助调用wkhtmltopdf转换HTML
Java 类
1 | import java.io.BufferedReader; |
测试
测试代码:
1
2
3
4
5
6
7
8
9
10public static void main(String[] args) {
WKHtml2PdfConverter converter = new WKHtml2PdfConverter();
converter.cmdPath = "/usr/local/bin/wkhtmltopdf";
converter.input = "https://www.google.com/";
converter.output = "/tmp/Downloads/5.pdf";
converter.extraArgs = "--quiet";
converter.convert();
}老版本
wkhtmltopdf依赖于X11, 测试方法:1
2
3
4
5
6
7
8
9
10
11
12
13
14public static void main(String[] args) {
WKHtml2PdfConverter converter = new WKHtml2PdfConverter();
/**
* 老版本的WKHtmlToPdf是需要依赖X11的
*/
converter.runAsArgs = "/usr/bin/xvfb-run";
converter.cmdPath = "/usr/bin/wkhtmltopdf-amd64";
converter.input = "/tmp/a.html";
converter.output = "/tmp/a.pdf";
converter.extraArgs = "--use-xserver";
converter.convert();
}