关于生成word文件以及插入文字、表格、图片等功能,我使用了poi和itext,因为poi插入图片的jar包我在网上查并不是太完全,也可能我没找到如何使用,所以插入图片我用的是itext

iText所需jar包,在pom文件中配置

  1. <!-- https://mvnrepository.com/artifact/com.lowagie/itext -->
  2. <dependency>
  3. <groupId>com.lowagie</groupId>
  4. <artifactId>itext</artifactId>
  5. <version>4.2.2</version>
  6. </dependency>

1、创建word2007文件并插入表格(poi,所需jar包在我其他博客里有对poi的介绍,或去网上查)

  1. //创建word2007文件插入表格
  2. public void createWord2007() {
  3. XWPFDocument doc = new XWPFDocument();
  4. XWPFParagraph p1 = doc.createParagraph();
  5.  
  6. XWPFTable table = doc.createTable(11, 4);
  7. // CTTblBorders borders=table.getCTTbl().getTblPr().addNewTblBorders();
  8. CTTblPr tblPr = table.getCTTbl().getTblPr();
  9. tblPr.getTblW().setType(STTblWidth.DXA);
  10. tblPr.getTblW().setW(new BigInteger("7000"));
  11.  
  12. // 设置上下左右四个方向的距离,可以将表格撑大
  13. table.setCellMargins(20, 20, 20, 20);
  14.  
  15. // 表格
  16. List<XWPFTableCell> tableCells = table.getRow(0).getTableCells();
  17.  
  18. XWPFTableCell cell = tableCells.get(0);
  19. XWPFParagraph newPara = new XWPFParagraph(cell.getCTTc().addNewP(), cell);
  20. XWPFRun run = newPara.createRun();
  21. /** 内容居中显示 **/
  22. newPara.setAlignment(ParagraphAlignment.CENTER);
  23. run.getCTR().addNewRPr().addNewColor().setVal("FF0000");/**FF0000红色*/
  24. run.setUnderline(UnderlinePatterns.THICK);
  25. run.setText("第1行1列");
  26. tableCells.get(1).setText("第1行2列");
  27. tableCells.get(2).setText("第1行3列");
  28. tableCells.get(3).setText("第1行4列");
  29. tableCells = table.getRow(1).getTableCells();
  30. tableCells.get(0).setText("第2行1列");
  31. tableCells.get(1).setText("第2行2列");
  32. tableCells.get(2).setText("第2行3列");
  33. tableCells.get(3).setText("第2行4列");
  34.  
  35. // 设置字体对齐方式
  36. p1.setAlignment(ParagraphAlignment.CENTER);
  37. p1.setVerticalAlignment(TextAlignment.TOP);
  38.  
  39. // 第一页要使用p1所定义的属性
  40. XWPFRun r1 = p1.createRun();
  41.  
  42. // 设置字体是否加粗
  43. r1.setBold(true);
  44. r1.setFontSize(20);
  45.  
  46. // 设置使用何种字体
  47. r1.setFontFamily("Courier");
  48.  
  49. // 设置上下两行之间的间距
  50. r1.setTextPosition(20);
  51. r1.setText("标题");
  52.  
  53. FileOutputStream out;
  54. try {
  55. out = new FileOutputStream("d:/word2007.docx");
  56. // 以下代码可进行文件下载
  57. // response.reset();
  58. // response.setContentType("application/x-msdownloadoctet-stream;charset=utf-8");
  59. // response.setHeader("Content-Disposition",
  60. // "attachment;filename=\"" + URLEncoder.encode(fileName, "UTF-8"));
  61. // OutputStream out = response.getOutputStream();
  62. // this.doc.write(out);
  63. // out.flush();
  64.  
  65. doc.write(out);
  66. out.close();
  67. } catch (IOException e) {
  68. e.printStackTrace();
  69. }
  70. System.out.println("success");
  71. }

2、插入图片,文字(iText)

  1. public void exportImg() {
  2. Document document = null;
  3. try {
  4. document = new Document();
  5. RtfWriter2.getInstance(document, new FileOutputStream("D:/word2007.doc"));
  6. document.open();
  7. Paragraph title = new Paragraph("你好,Word!");
  8. document.add(title);
  9. try {
  10. Image image = Image.getInstance("C:\\Users\\zhxn\\Desktop\\1.jpg");
  11. //插入一个图片
  12. document.add(image);
  13. } catch (IOException e) {
  14. e.printStackTrace();
  15. }
  16. } catch (FileNotFoundException e) {
  17. e.printStackTrace();
  18. } catch (DocumentException e) {
  19. e.printStackTrace();
  20. } finally {
  21. if (document != null) {
  22. document.close();
  23. }
  24. }
  25.  
  26. }

iText、poi操作word2007(读取,生成)的更多相关文章

  1. Java POI 操作Excel(读取/写入)

    pom.xml依赖: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi< ...

  2. java poi 操作

    Java POI 操作Excel(读取/写入) https://www.cnblogs.com/dzpykj/p/8417738.html Java操作Excel之Poi基本操作 https://my ...

  3. poi操作excel2007(读取、生成、编辑)

    因为现在再写excel2003版的比较low,所以我在这就不介绍了,直接介绍2007,我所用的编程软件是IDEA poi操作office总共有6个jar包,在pom.xml文件中配置如下,也可下载后直 ...

  4. Java使用poi从数据库读取数据生成Excel表格

    想要使用POI操作以xsl结尾的Excel,首先要下载poi相关的jar包,用到的jar有: poi-3.9.jar poi-ooxml-3.9.jar poi-ooxml-schemas-3.9.j ...

  5. POI操作Excel详解,读取xls和xlsx格式的文件

    package org.ian.webutil;   import java.io.File; import java.io.FileInputStream; import java.io.FileN ...

  6. POI操作Excel

    POI和Excel简介 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作 ...

  7. 使用POI操作Excel时对事先写入模板的公式强制执行

    场景:POI读取Excel模板. 当使用POI操作Excel时,发现由POI生成的公式能够在打开Excel是被执行, 而事先手工写入Excel模板文件的公式则不自动被调用,必须手动双击该Cell才能生 ...

  8. 利用POI操作不同版本号word文档中的图片以及创建word文档

    我们都知道要想利用java对office操作最经常使用的技术就应该是POI了,在这里本人就不多说到底POI是什么和怎么用了. 先说本人遇到的问题,不同于利用POI去向word文档以及excel文档去写 ...

  9. 自己封装的poi操作Excel工具类

    自己封装的poi操作Excel工具类 在上一篇文章<使用poi读写Excel>中分享了一下poi操作Excel的简单示例,这次要分享一下我封装的一个Excel操作的工具类. 该工具类主要完 ...

随机推荐

  1. 纯js编写验证信息提示正则匹配数字,字母,空值

    1.显示效果 2,html结构 <div class="border_bg"> <div id="upcCode" style="p ...

  2. Android ViewGroup拦截触摸事件具体解释

    前言 在自己定义ViewGroup中.有时候须要实现触摸事件拦截.比方ListView下拉刷新就是典型的触摸事件拦截的样例. 触摸事件拦截就是在触摸事件被parent view拦截,而不会分发给其ch ...

  3. 【智能家居篇】wifi网络结构(上)

    转载请注明出处:http://blog.csdn.net/Righthek 谢谢! WIFI是什么.相信大家都知道,这里就不作说明了. 我们须要做的是深入了解其工作原理,包含软硬件.网络结构等.先说明 ...

  4. TLS握手

    http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html 1994年,NetScape公司设计了SSL协议(Secure Sockets Layer)的1 ...

  5. ssh tunnel 上网

    用DNS隧道实现免费上网 大多数机场.酒店之类场所,当你输入一个网址比如www.google.com时,会弹出一个页面要你输入帐号密码才能上网.这个时候DNS能正确解析,但是上网要付费认证. 可以通过 ...

  6. linux HBA 卡驱动安装

    系统环境操作系统 : RHEL5.0设备 DL580G5  HBA 卡:Qlogic 2343连接存储: EVA8100---------------------------------------- ...

  7. 两个NSMutableDictionary合并成一个NSMutableDictionary

    解决方案: NSMutableDictionary *targetMutableDictionary = [mutableDictionary1 copy]; [targetMutableDictio ...

  8. CZLayer的阴影

    CALayer有一个shadow属性 意思是阴影 shadowcolor  //颜色 shadowoffset  //偏移 shadowOpacity  //透明度 layer有一个方法    mas ...

  9. Asp.net Web Api中使用配置Unity

    第一步:建立web api,添加unity.webapi. 第二步:在添加了该引用之后,在App_Start中会自动生成UnityConfig.cs文件 第三步:添加数据做测试 第四步:展示效果

  10. linux进程的有效用户ID

    进程的有效用户ID用于文件访问时的权限检查.通常,有效用户ID等于实际用户ID(也就是你登录是的用户ID),有效组ID等于实际组ID. 我们知道每个文件针对不同的user有不同的读.写.执行权限.当执 ...