【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
最近项目中需要使用iText生成pdf文件,为了支持中文显示,百度了一下,用下面这行代码就可以,应该是iText内置的中文字体吧,实际用了也可行。
PdfFont chineseFont = PdfFontFactory.createFont("STSong-Light", "UniGB-UCS2-H", true);
但是接下来就发现,生成pdf时若遇到字符串中包含换行符、tab、生僻字等字符时会报错。为了解决这个问题,我用宋体字体文件simsun.ttf(可自行百度下载)代替内置字体,发现不会报错了。
PdfFont chineseFont = PdfFontFactory.createFont("fonts/simsun.ttf", PdfEncodings.IDENTITY_H, true); //fonts/simsun.ttf为文件地址
虽然用字体文件不会报错,但有一次遇到导出的pdf中“㭎”这个字显示为空白,也就是说使用字体文件遇到识别不了的字符不会报错,但是直接跳过这个字符了。不知道有没有解决这个问题的方法?
来源:oschina
链接:https://my.oschina.net/u/3245427/blog/3147434