itext 处理中文问题 Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized 版本问题

来源:互联网 发布:python 矩阵乘法 编辑:程序博客网 时间:2024/06/06 04:47

这个问题,网上似乎很多答案,都一一试过,都无法解决,现在我把我处理过程写出来,仅供参考

我开始使用了itext.5.5.1jar 和itext-asian.5.1.1.jar

使用BaseFont baseFont = BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.EMBEDDED);

         Font font = new Font(baseFont); 

的时候一直报错Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized

百度了半天,所有方法都试过,无法解决,最终决定自己debug下,坑还是要自己来填。

当今入到CJKFont.class 中的loadRegistry() 发现以下代码,就是在这个代码出现了问题,文件不存在


我将 itext5.5.1.jar 解压,今入


目录中,并没有这个文件

再解压itext-asian.5.1.1中 今入com\itextpdf\text\pdf\fonts中也没有发现这个文件,心里想这个bug太明显了,后来一想是否是版本不一致,两个版本不兼容导致,于是将itext-asian升级到5.2.0,解压后,果然发现了那个cjk_register.properties,重新运行程序问题解决,当时真是心中一万匹草泥马。


0 0