关于itext使用过程中遇到的问题总结

环境介绍:

itext目前已经发展到itext7版本,目前系统里面使用的itext2版本;

使用spring的freemaker结合itext,完成pdf的导出

需要进行pdf导出的html文件,可能包含下面这几种情况,导致pdf导出失败:

  1. 含有不闭合的html标签,比如<br>
  2. html标签中,含有非法的属性,比如 v:data="xxx"
  3. img标签不是引用的http,而是base64之类的
  4. 设置了特殊字体的,pdf导出虽然不失败,但是内容看不到
  5. img图片过大的时候,pdf导出会出现截图的现象

针对上面的几个问题,解决思路

1,研究itext代码,重写html解析相关的类

2,使用html处理工具,对html文件进行合法性处理(比如:jsoup)

选第二种方案(第一个费时间,没有太多的精力研究)

 

结合jsoup,对html文件进行处理,核心代码:

对html文件进行合法性处理

	/**
	 * 1,html标签对齐
	 * 2,检查所有的img标签,如果为base64编码就去掉该图片
	 * 3,过滤所有的html标签,仅保留styles和class两个属性,其他的属性去掉
	 * 4,检查字体设置,如果
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值