首页 游戏 软件 排行 专题
iText 5 需要用到的中文支持包iTextAsian.jar
  • iText 5 需要用到的中文支持包iTextAsian.jar

  • 大小:316KB更新:2013-07-30 09:53
  • 类别:编程辅助系统:WinAll, WinXP

现在很多工程里面用到的iText都是2.*版本或者是1.*,而最近新下载的iText是5.0.2版,用iTextAsian.jar以后会抛一个“ Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized ”异常出来,按照网上的解决方法,将这个jar文件中的包名称修改了一下,然后重新打包了一下,方便大家使用。

iText 5是什么

iText是一个能够快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的。它的类库尤其与java Servlet有很好的给合。使用iText与PDF能够使你正确的控制Servlet的输出。

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

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

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

Java代码
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);
。。。。。

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

大意是:找不到资源包。

可是明明导入了呀?

峰回路转:

细心地查看了一下,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。

玩家留言 跟帖评论
查看更多评论
相关应用
猜你喜欢

开发者其他应用

同类下载
其它版本