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包支持多少语言翻了不知道多少页,最后在相关书籍上找到了答案)

 

评论 6 您还未登录,请先 登录 后发表或查看评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

Chuck_le

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值