最近javaweb项目中集成了wkhtmltopdf插件来将html转成pdf文件,不得不说此项目的确很棒,提供了很多参数进行配置,项目下载进入https://wkhtmltopdf.org/;
在项目中有个问题,进行访问时项目配置了url安全控制,每次转换的结果均是登陆界面(系统当访问路径不正确或session过期时自动跳转到登陆界面),此问题是因为
转pdf时类似于使用另外一个浏览器进行访问,使得访问的session为空,;类似于未登录,还好wkhtmltopdf提供了设置cookie(--cookie <name> <value>)的属性,例如
name表示cookie名称,value表示cookie值 (一般和sessionId相同)
最后共一下项目的使用:
StringBuilder cmd = new StringBuilder();
cmd.append(toPdfTool);
cmd.append(" ");
cmd.append(" --cookie "+cookie.getName()+" "+cookie.getValue()+" ");//设置cookie name及value 属性
cmd.append(" --header-line");//页眉下面的线
cmd.append(" --header-center 这里是页眉这里是页眉这里是页眉这里是页眉 ");//页眉中间内容
//cmd.append(" --margin-top 30mm ");//设置页面上边距 (default 10mm)
cmd.append(" --header-spacing 10 ");// (设置页眉和内容的距离,默认0)
cmd.append(srcPath);
cmd.append(" ");
cmd.append(destPath);
最后祝大家开发顺利!