iText-Asian jar可以使用的中文字符及iText——>html2pdf使用(附坑)

如图,iText-Asian包支持的中文字体只有简体的STSong华文宋体和三种繁体,其中UniGB-等是PDF对应的CMap(博主个人理解为字体所对应的编码库和编码方式,如Unicode)。具体的字体及编码可以打开iText-Asian包查看,可以看到其实就是一个字体包

查阅量资料后发现,在iText中使用中文字体只有以上三种方式,第一种使用Asian包提供的字体,第二种使用系统自带的字体,第三种把字体资源添加到ClassPath目录下。

BaseFont.createFont方法返回一种新的字体,参数一到三分别为 字体路径或字体名,字符集及编码,是否嵌入pdf(这个地方是pdf的专业术语,博主也不是很了解,使用需要跟字符集及编码配套,只有EMBEDDED喝NOT_EMBEDDED两种选项)

具体的各种重写方法可以上官网查看API,BaseFont.IDENTITY_H和BaseFont.IDENTITY_V分别是水平编码和垂直编码,为pdf术语范畴,以下附图一张解释用法

当选择的字体不知道其具体的解码和字符集时,可以使用IDENTITY_H和V,具体embedded配置也就四种试过来,具体可以阅读iText的作者 Bruno Lowagie的著作《iText》,里面有iText所有的用法和解释(比官网好一万倍)

iText中设置有默认体,通过createFont创建新的字体,以下是html转pdf时使用,通过继承XMLWorkerFontProvider重写getFont方法使用

下面是博主最后搞定的一个需求 如何无视html的字体包裹

以上,全部设置为宋体balabla输出

网上的资源太多,太杂,很碎片化,博主也经历了很艰难的答案寻访过程,最后总结出一条光明大道

官网快速入门,例程使用,API———>具体问题搜索(推荐使用stackoverflow,高赞答案比较好,可以偶遇作者)————>相关书籍(书籍整理的知识点较详细,系统化,博主为了知道iText-Asian包支持多少语言翻了不知道多少页,最后在相关书籍上找到了答案)

 

  • 12
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值