itext中文问题

itext不论是旧的版本,还是新的版本,其核心包都不支持中文问题。这样就会造成在生成含有中文的pdf文档时,

中文不能正常显示的问题。要使itext支持中文,需要下载iTextAsian.jar包
编写支持中文的字体对象:

PdfWriter.getInstance(document, new FileOutputStream("123.pdf")); BaseFont bfChinese = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", false); Font fontChinese = new Font(bfChinese); document.open(); Paragraph par = new Paragraph("你好",fontChinese); document.add(par);

这样就解决了itext对这中文的支持。

注意:如果运行报错。(找不到资源包)。明明导入了iTextAsian.jar包怎么会找不到资源包呢

这时我们查看一下iTextAsian.jar包发现包名:com.lowagie.text.pdf.fonts

而查看itext 的Font的包名: com.itextpdf.text.pdf.fonts

原来iTextAsian.jar对iText的扩展,是通过在相同的包空间下加入字体来解决的,然而,新的iText的包空间命名

与久的版本有很大的差别。

解决办法时,解压 iTextAsian.jar包,修改 iTextAsian.jar包名于itext的包名命名规则一直,再从新生成jar包。

因为 iTextAsian.jar为资源包,不为java文件,所以修改包名对 iTextAsian.jar无影响

你可能感兴趣的:(java,jar,文档,扩展)