先看一下页面:
通过右边的指示栏,可以看出,我这个页面很长,其中肯定有图片的,如下:
重点:(页面上的数据大部分都是通过“thymeleaf“渲染的)。
要求是:点击左上角的“导出PDF”,就直接将这个页面导出为PDF文件。
我想问一下大家,有没有合适的解决方案。(不到万不得已,我真的不想张口就问,拜托了)
html2canvars+jsPDF的方式我试过了,页面小的时候是没问题的,但是页面一大就有奇奇怪怪的事情,比如下面这张图:
从上图可以看出,B超图没显示,描述也没有,就只剩下一些静态页面了,所有的动态数据都没有了。这不是最奇怪的,看到我左边黑框标的页数了吧,继续看下一张:
这是第四页的pdf,所有数据和“img”都可以正常显示。
今天测试了一天,发现是html2canvars截到的canvars就是这样不完整的,没有想出什么办法能解决这个问题。
这就是我在用html2canvars的时候遇到的坑,现在还没爬出来,去官网也没有关于这种问题的介绍,百度也没找到,所以只好先放弃了。
然后想着后端处理PDF,看到都说iText挺好的,我也试了一试,结果是静态页面可以导出没问题,包括图片、中文,都可以导出。
但是我的页面是动态的模板页面,是thymeleaf传输数据的,这个我就整不明白了,所以在这问一下有没有做过类似功能的,能分享一下方案吗。(我刚入职俩月,纯纯新手,不到万不得已,真的不想张口就问,拜托了)