报表 PDF Java报表 xhtmlrenderer html to pdf

优点:

相比于一些Report设计器而言,xhtmlrender非常轻便,可以完全做到前后端分离,因为它的核心就是将html转为PDF,并且是非“扫描版”的PDF。一些Report设计器需要前端和后端工程师,都能熟练使用设计器进行开发才行,否则无法完成一个报表设计。并且通常设计器的排版相当复杂(包括一些酷炫的chart,一些精美的表格排版),并不适合前端工程师入手。事实上,任何报表设计器都不如html+css对前端工程师来的顺手。
所以,xhtmlrender是PDF报表生成的最佳选择。

缺点:

相比于它的优点而言,它的缺点其实可以忽略。但还是需要说明。
  1. 标签:xhtmlrender需要html的标签必须是规范的,即,所有标签必须闭合。
  2. 样式:不支持外部样式,所有样式必须写在html内部。
  3. Chart图表:只能识别html中的样式,即不能识别外部样式及脚本。不支持JS脚本,因为后台读取的只是html和css,脚本的执行需要浏览器执行。即,如果用有图表的话,只能后台生成图表,然后转成图片。
  4. 换行:对换行的不良好支持。最佳解决方案是:重写掉xhtmlRenderer里面的Break类。
  5. 分页:如果html里面有图片,而在分页的地方刚好有图片,这个图片将被渲染到下一页,并可能遮挡下页的元素,所以,只能在html中提前控制分页,即:在div中加入css(style="page-break-after: always;"

Jar包(gradle版)

dependencies {
compile(
"org.xhtmlrenderer:core-renderer:R8",

"javax.servlet:javax.servlet-api:3.1.0",
"commons-fileupload:commons-fileupload:1.3.3"
)
testCompile group: 'junit', name: 'junit', version: '4.12'
}

Demo源码:

链接: https://pan.baidu.com/s/1eR3bwGy  密码: 5up2

 





原文地址:https://www.cnblogs.com/tonyzeng/p/7473275.html