Itext设置导出word文件的字体

来源:互联网 发布:windows vista红屏 编辑:程序博客网 时间:2024/05/01 14:09

首先,要导入Itext的三个jar包:iText-2.1.7.jar,itext-rtf-2.1.7.jar,iTextAsian.jar;

其次,Itext里面设置导出word文件的字体,用RtfFont这个类的初始化方法进行设置;

 RtfFont font =new RtfFont("仿 宋", 12, Font.NORMAL, Color.BLACK);

这个构造方法里面:第一个参数是字体类型,第二个参数是字体大小,第三个参数是字体格式是加粗还是正常,第四个参数是字体的颜色

仿宋:new RtfFont("仿 宋", 12, Font.NORMAL, Color.BLACK);

黑体:new RtfFont("黑 体", 16, Font.BOLD, Color.BLACK);

宋体:new RtfFont("宋 体", 16, Font.NORMAL, Color.BLACK); 

微软雅黑:new RtfFont("微 软 雅 黑", 16, Font.NORMAL, Color.BLACK);

仿宋_GB2312:new RtfFont("仿宋_GB2312", 16, Font.NORMAL, Color.BLACK); 

注:这个时候导出的字体是“宋体 (中文正文)”

这里的字体类型可以自己一一尝试,字体类型书写的时候中间加一个空格(比如:“黑体”这样写是不起作用的,必须写成“黑 体”)

public class TestDoc { 

    /**
     * @param args
     */ 
    public static void main(String[] args) {  
           exportDoc("D:\\test.doc");  
        } 

    public static void exportDoc(String fileName){ 
        try { 
            Document doc = new Document(); 
            RtfWriter2.getInstance(doc, new FileOutputStream(fileName)); 
            // 打开文档 
            doc.open(); 
            //设置页边距,上、下25.4毫米,即为72f,左、右31.8毫米,即为90f 
            doc.setMargins(90f, 90f, 72f, 72f); 
            BaseFont baseFont = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", false);
            //设置标题字体样式,粗体、二号、华文中宋 
            Font tfont = new Font(baseFont, 22, Font.BOLD);  //标题的样式------宋体 (中文标题)二号 加粗
            //构建标题,居中对齐,12f表示单倍行距 
            //RtfFont font =new RtfFont("黑 体", 16, Font.BOLD, Color.BLACK); //标题1的样式------黑体 加粗 三号
            RtfFont font =new RtfFont("仿 宋", 12, Font.NORMAL, Color.BLACK); //标题2的样式------仿宋  加粗 三号
            //RtfFont font =new RtfFont("仿 宋", 16, Font.NORMAL, Color.BLACK);//正文的样式------仿宋(三号 正常)
            Paragraph title = DocStyleUtils.setParagraphStyle("测试Itext导出Word文档", tfont, 26f, Paragraph.ALIGN_CENTER); 
            //构建正文内容 
            StringBuffer contentSb = new StringBuffer(); 
            contentSb.append("最近项目很忙,这个是项目中使用到的,所以现在总结一下,以便今后可以参考使用,"); 
            contentSb.append("2011年4月27日 — 2011年5月20日,对以下技术进行使用,"); 
            contentSb.append("Itext、"); 
            contentSb.append("Excel、"); 
            contentSb.append("Word、"); 
            contentSb.append("PPT。"); 

            //首行缩进2字符,行间距1.5倍行距 
            Paragraph bodyPar = DocStyleUtils.setParagraphStyle(contentSb.toString(), font, 32f, 26f); 
            Paragraph bodyEndPar = DocStyleUtils.setParagraphStyle("截至2011年4月28日,各种技术已经完全实现。", font, 32f, 26f); 
            //设置空行 
            Paragraph blankRow = new Paragraph(26f, " ", font); 
            Paragraph deptPar = DocStyleUtils.setParagraphStyle("(技术开发部盖章)", font, 26f, Paragraph.ALIGN_RIGHT); 
            Paragraph datePar = DocStyleUtils.setParagraphStyle("2011-04-30", font, 26f, Paragraph.ALIGN_RIGHT); 

            //向文档中添加内容 
            doc.add(title); 
            doc.add(blankRow); 
            doc.add(bodyPar); 
            doc.add(bodyEndPar); 
            doc.add(blankRow); 
            doc.add(blankRow); 
            doc.add(blankRow); 
            doc.add(deptPar); 
            doc.add(datePar); 

            //最后一定要记住关闭 
            doc.close(); 

        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
    }    

 

0 0
原创粉丝点击