HTML转换成PDF,这样就搞定了!

1. OpenPDF

OpenPDF是免费的Java类库 ,遵从LGPL 和 MPL协议,所以基本上能够可以随意使用。OpenPDF是基于iTEXT的,目前来说也是维护的比较好的Java操作PDF的开源软件。

话不多说,且看所需要的依赖,

HTML转换成PDF,这样就搞定了!

jsoup可以将html文件转换成输入流等,也可以遍历html的DOM节点,提取元素及样式等。

2. 示例

本篇示例将以下html文件转换成pdf


HTML转换成PDF,这样就搞定了!HTML转换成PDF,这样就搞定了!


以上html用浏览器打开如下,乱码是因为中文字体不识别,下面转换的时候会加载对应的字体来进行转换。HTML转换成PDF,这样就搞定了!

使用Java转换HTML到PDF代码如下:

HTML转换成PDF,这样就搞定了!

使用Java代码转换成PDF如下(示例中使用了微软雅黑中文字体):

HTML转换成PDF,这样就搞定了!上述html文件中增加如下外部样式


HTML转换成PDF,这样就搞定了!

并在resources目录下添加style.css文件,重新生成PDF文件如下。

HTML转换成PDF,这样就搞定了!

3. 总结

本片介绍了使用OpenPDF将html文件转换成PDF文件。同时也使用了自定义字体,外部样式。但是以下几点需要格外注意。

  • Java代码中加载的字体名称要和HTML引用的CSS样式中的字体名相同 ({font-family:"msyh";})。
  • HTML文件标签节点必须闭合(<xxx></xxx>).否则解析会失败。


上一篇:Java 是如何做 HTTPS 双向认证的?


下一篇:想知道如何正确地保证表单提交的幂等性吗?(一)