itext PDF的使用

iText PDF添加下划线的三种方式

生成一个简单的PDF
public class ItextPDF {

    //定义默认字体
    private static BaseFont bfSong = null;
    private static Font Fontsong12 = null;
    private static Font Fontsong12U=null;
    private static Document document = new Document(PageSize.A4,20.0F, 20.0F, 36.0F, 36.0F);//普通a4
    /**
     * 字体初始化
     */
    static {
        try {
            bfSong = BaseFont.createFont("font/song.ttf",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
        } catch (Exception e) {
            e.printStackTrace();
        }
        Fontsong12 = new com.itextpdf.text.Font(bfSong, 12, com.itextpdf.text.Font.NORMAL);//12号宋
        Fontsong12U=new Font(bfSong, 12, Font.NORMAL);
        Fontsong12U.setStyle(Font.UNDERLINE);
    }

    public static void main(String[] args) throws Exception {

        File f = new File("c:" + File.separator +"pdfTest"+File.separator+"iTextPdfTest.pdf");
        OutputStream out = null;
        try {
            out = new FileOutputStream(f);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

        Document document = new Document(PageSize.A4);
        PdfWriter.getInstance(document, out);
        document.open();

        PdfPTable table1 = new PdfPTable(1);
        PdfPCell cell11 = new PdfPCell(new Paragraph("Hello World iTextPDF", Fontsong12));
        cell11.setVerticalAlignment(Element.ALIGN_MIDDLE); //设置垂直居中
        cell11.setHorizontalAlignment(Element.ALIGN_CENTER);//设置水平居中
        cell11.setBorder(0);
        table1.addCell(cell11);
        document.add(table1);
        document.close();
    }
}

结果演示:
这里写图片描述

生成下划线的方式1:

使用cell11.setBorder(BOTTOM); //设置下划线
注意:需要导入 import static com.itextpdf.text.Rectangle.BOTTOM;
这里写图片描述
结果演示:
这里写图片描述

生成下划线的方式2:

通过对字体进行设置,对其设置setStyle(Font.UNDERLINE),同上代码的Fontsong12U
这里写图片描述
结果演示:
这里写图片描述

生成下划线的方式3:

将cell的上左右变成设为0,下边框设为1,模拟下划线情况
这里写图片描述
结果演示:
这里写图片描述

项目过程中遇到了一句话中会有好几个下划线分开的情况,只需要将其拆分成多个cell然后进行拼接起来即可.

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值