iText的一些问题

捣鼓了一个月的iText,算是有了一点点心得,与众位分享之~

1. 关于表格的行高:

    这个问题搜索了很多贴子都没有答案。后来终于得以解决。可以在表格的cell里,在该cell文字后添加茫茫多的/n,然后使用cell.setMaxLines方法,来设定该cell最多能有多少行,从而间接达到设置该cell行数为固定行数的问题。但该方法只局限于高版本的iText版本,对于像1.1这种低版本不适用。

 

2. 关于中文字体:

    在iText5.X版本以后好像失去了对中文字体的支持。目前的iText对中文提供支持的最高版本是2.1.7。iTextAsia.jar包中,对中文的支持只有宋体,但我们可以使用系统字体来达到输出多种字体的目的。如:

BaseFont kaitiBF = BaseFont.createFont(fontUrl+"STKAITI.TTF,Bold", BaseFont.IDENTITY_H,  BaseFont.NOT_EMBEDDED);

Font noteFont = new Font(kaitiBF,14,Font.NORMAL);

这样就创建了一个14号的楷体Font对象。其中,createFont方法中的第一个参数表示系统字体所在的路径。一般的XP系统中,都是在C:/Windows/Fonts里。

 

3. 关于字体的下划线:

    有两种方式实现下划线:

    (1)Font f = new Font(kaitiBF,12,Font.UNDERLINE);

    (2)chunk.setUnderline(0.2f, -2f);

    两种实现方式产生的效果不一样,貌似第二种的下划线比较细。而且在第二种中,通过调整参数可以设置下划线的位置,甚至可以让下划线穿过文字,如chunk1.setUnderline(0.5f, 3f); 

 

4. 关于iText版本

    在使用iText的过程中,最最烦心的是各个iText版本差异性很大。在使用1.1版本之后,发现2.X版本的一些方法实用,于是想到迁移到2.X上去,却发现将1.1改成2.1以后,字体都发生了变化,于是还得去重新设置字体。因为我的PDF上的对象比较少,我相信字体问题只是版本问题的一小部分。因此奉劝正在用iText进行研究开发的初手,避免本人的此类麻烦。

 

另外,插入背景图片的问题至今还在摸索之中,还望高手予以赐教!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值