推外网络专注营销型网站品牌策划与推广

FOCUS MARKETING WEBSITE BRAND PLANNING AND MARKETING PROMOTION

Java+flying-saucer+iText+Freemarker导出PDF日报和周报

2019-09-28 14:02:12 100000+ 编辑:推外网络 来源:本站原创
由于iText自身解析器对html中的一些标签和css支持不够好,没有办法识别,网上查找了很多资料最后用了基于iText开源flying-saucer包。对css解析做了很好的支持同时对中文做了处理,导出的PDF中文不会再是乱码。项目中引用了对spring-boot-starter-freemarker、中文支持包itext-asian、支持css样式渲染包flying-saucer-pdf-itext5包进行开发。能够同时对css,字体font、图片img进行解析渲染。可以加入字体包和自定义css,对html内容进行完美解析。把每天生成的日报的地址放入延时队列,第二天早上通过邮件发送给客户。

发送邮件用的搜狐的sendcloud平台,通过参数type获取不同的模板进行发送,在sendcloud中配置不同的模板,在模板中可以设置%name%替换变量。在发送时模板根据参数会进行相应替换。利用elastic-job进行任务调度,定时任务会通过接口查询elasticsearch中的数据生成用户每天的日报PDF,把生成的数据放入延时队列,在到达指定时间时延时队列会自动发调用发送邮件接口,进行发送。通过RabbitMQ定义延时队列。当队列接收的发送过来的数据时调用发送邮件接口,把生成的日报发送给客户邮箱。日报模板中显示租户每个项目中关键词所监测到的舆情信息。其中显示总舆情信息数和敏感信息条数。把监测到负面的敏感词进行飘红显示。周报的生成是把7天的日报数据打包成PDF压缩文件发送给客户。


本站文章均为推外网络摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!感谢...