读书人

iText5.0解决中文输出的有关问题

发布时间: 2012-12-21 12:03:49 作者: rapoo

iText5.0解决中文输出的问题

?

iText5.0解决中文输出的问题起因:

?

最近研究PDF的生成,用到了iText。在网上,大多数人用的都是iText2.1,并且配合iTextAsian.jar来解决中文输出的问题。


但是,将iTextAsian.jar和iText5.0放在lib目录下,利用以下语句:

?

Java代码??iText5.0解决中文输出的有关问题
  1. PdfWriter.getInstance(document,?new?FileOutputStream("123.pdf"));??
  2. ???????
  3. BaseFont?bfChinese?=?BaseFont.createFont("STSongStd-Light",?"UniGB-UCS2-H",?false);??
  4. ??
  5. Font?fontChinese?=?new?Font(bfChinese);??
  6. ??
  7. document.open();??
  8. ??
  9. Paragraph?par?=?new?Paragraph("你好",fontChinese);??
  10. ??
  11. document.add(par);??
  12. 。。。。。??

?

结果会报错(已经解决了,忘了截图):


大意是:找不到资源包。


可是明明导入了呀?

?

?

峰回路转:

?

细心地查看了一下,iTextAsian.jar的包名:com.lowagie.text.pdf.fonts


而 iText5.0的Font的包名:com.itextpdf.text.pdf.fonts。


又对比了下iText2.1的相应的包名:com.lowagie.text.pdf.fonts


原来iTextAsian.jar对iText的扩展,是通过在相同的包空间下加入字体来解决的,然而,iText5.0的包空间命名与2.1有很大的差别。

?

解决办法:

呵呵,在winrar中,简单地修改下iTextAsian.jar的包名就可以输出中文了。具体就是,将lowagie的文件夹重命名为itextpdf。


转载自:http://xiaolongfeixiang.iteye.com/blog/577816

读书人网 >编程

热点推荐