日期:2014-05-17  浏览次数:20745 次

itext生成pdf加了iTextAsian.jar还是报“Font 'STSong-Light' with 'UniGB-UCS2-H' is not re“
我下载了最新版的itext,版本是5.3.4,也下载了iTextAsian.jar,由于5.0后的itextjar包的包名字改了,然后,我重新修改iTextAsian.jar的包路径,由com.lowagie.text.pdf.fonts 更新为com.itextpdf.text.pdf.fonts,,然后按照网上的方法,把它加到classpath里面,,然后代码,

String filePath = "hello.pdf";

Document document = new Document();

PdfWriter.getInstance(document, new FileOutputStream(filePath));

document.open();

BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);

Font chineseFont= new Font(bfChinese, 12, Font.NORMAL);

PdfPCell cellReportSummary = new PdfPCell(new Phrase("支持中文",chineseFont));

document.add(cellReportSummary);

   document.close();
,还是报: Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized.的错误,是不是我的classpath有问题,还是其他的?
------解决方案--------------------
我修改包路径,由com.lowagie.text.pdf.fonts 更新为com.itextpdf.text.pdf.fonts,我有重新打包jar的。
------解决方案--------------------
然后,我有怀疑,打包有错,我特意从csdn上面下载了,打包好的iTextAsian.jar,但故障依然。
------解决方案--------------------
还有一点,我的项目是添加了jdk,是直接执行下载好的jdk目录,难道这样,设置的classpath就没什么作业?