您的位置:首页 > 其它

Itext设置导出word文件的字体

2017-02-24 16:27 309 查看
首先,要导入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(); 

        } 

    }    



 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐