解决利用iText导出PDF报表中文乱码两种方式
一、利用iTextAsian.jar解决中文乱码,iTextAsian.jar提供了对中文字符输出的支持。
1.itext5.x版本以下的,比如itext2.x,直接导入到classpath目录下就OK了,
附件中有针对iText5.0以下版本的iTextAsian5down.jar下载。
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);com.lowagie.text.Font FontChinese = new com.lowagie.text.Font(bfChinese, 12, com.lowagie.text.Font.NORMAL);Paragraph pragraph=new Paragraph("你好", FontChinese);
Document document = new Document();PdfWriter.getInstance(document, new FileOutputStream("D:/demo.pdf")); //使用windows自带的字体,字体所在路径BaseFont chinese = BaseFont.createFont("C:/windows/fonts/simsun.ttc,1", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);Font font = new Font(chinese, 14, Font.NORMAL);document.open();document.add(new Paragraph("iText中文测试内容", font));document.close();