java调用批处理bat文件调用python pdfkit把动态html转pdf

项目中用到生成pdf征信报告的需求,最近尝试了好多方法

1.传统的方法,使用pdfbox itext方法,生成的pdf不仅难看,而且不容易控制

2.freemarker技术,首先创建个word模板,转xml模型,通过freemarker技术填充数据到xml模型中,生成word文件,然后转pdf文件。

这种方法,适合于表格填充数据,我就不贴代码了

3.wkhtmltopdf技术,这种html直接转pdf的方法,因为我用java来开发的,好多参数不管用,封面控制,页头,页尾不好控制

4.python  pdfkit技术。最后我用的这种方法,因为我不是很懂python开发,既然用到了这个技术,我花了一天来研究,能写些简单的脚本语言就可以了。

总是思路,首先html预览数据样式,可以加入一些echarts效果图等,然后java调用bat批处理文件,把当前html转成pdf文件,最后html页面下载并预览本地磁盘文件。

这里碰到个很头疼的问题,java直接调用python是可以的,也可以传入参数,但是python脚本中加入了页头,页尾和封面等等 主要是import pdfkit 不能直接调用,所以最后写了个批处理文件来启动这个python脚本。很无语。

下面贴代码


java调用bat文件出



python脚本


当然由于不能直接调用pthon传入参数  所有这里使用的是 pdfkit.from_url方法,这里有个问题,如果你的html数据是动态渲染的,请求时间不能太长,否则转成的pdf是空的。 

然后就是页面下载并预览本地磁盘的pdf文件了


你可能感兴趣的:(自定义页头,页尾)