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

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

<!-- https://mvnrepository.com/artifact/com.lowagie/itext -->
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>4.2.2</version>
</dependency>

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

//创建word2007文件插入表格
public void createWord2007() {
XWPFDocument doc = new XWPFDocument();
XWPFParagraph p1 = doc.createParagraph(); XWPFTable table = doc.createTable(11, 4);
// CTTblBorders borders=table.getCTTbl().getTblPr().addNewTblBorders();
CTTblPr tblPr = table.getCTTbl().getTblPr();
tblPr.getTblW().setType(STTblWidth.DXA);
tblPr.getTblW().setW(new BigInteger("7000")); // 设置上下左右四个方向的距离,可以将表格撑大
table.setCellMargins(20, 20, 20, 20); // 表格
List<XWPFTableCell> tableCells = table.getRow(0).getTableCells(); XWPFTableCell cell = tableCells.get(0);
XWPFParagraph newPara = new XWPFParagraph(cell.getCTTc().addNewP(), cell);
XWPFRun run = newPara.createRun();
/** 内容居中显示 **/
newPara.setAlignment(ParagraphAlignment.CENTER);
run.getCTR().addNewRPr().addNewColor().setVal("FF0000");/**FF0000红色*/
run.setUnderline(UnderlinePatterns.THICK);
run.setText("第1行1列");
tableCells.get(1).setText("第1行2列");
tableCells.get(2).setText("第1行3列");
tableCells.get(3).setText("第1行4列");
tableCells = table.getRow(1).getTableCells();
tableCells.get(0).setText("第2行1列");
tableCells.get(1).setText("第2行2列");
tableCells.get(2).setText("第2行3列");
tableCells.get(3).setText("第2行4列"); // 设置字体对齐方式
p1.setAlignment(ParagraphAlignment.CENTER);
p1.setVerticalAlignment(TextAlignment.TOP); // 第一页要使用p1所定义的属性
XWPFRun r1 = p1.createRun(); // 设置字体是否加粗
r1.setBold(true);
r1.setFontSize(20); // 设置使用何种字体
r1.setFontFamily("Courier"); // 设置上下两行之间的间距
r1.setTextPosition(20);
r1.setText("标题"); FileOutputStream out;
try {
out = new FileOutputStream("d:/word2007.docx");
// 以下代码可进行文件下载
// response.reset();
// response.setContentType("application/x-msdownloadoctet-stream;charset=utf-8");
// response.setHeader("Content-Disposition",
// "attachment;filename=\"" + URLEncoder.encode(fileName, "UTF-8"));
// OutputStream out = response.getOutputStream();
// this.doc.write(out);
// out.flush(); doc.write(out);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("success");
}

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

public void exportImg() {
Document document = null;
try {
document = new Document();
RtfWriter2.getInstance(document, new FileOutputStream("D:/word2007.doc"));
document.open();
Paragraph title = new Paragraph("你好,Word!");
document.add(title);
try {
Image image = Image.getInstance("C:\\Users\\zhxn\\Desktop\\1.jpg");
//插入一个图片
document.add(image);
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
} finally {
if (document != null) {
document.close();
}
} }

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. nyoj 120 建边构强连通

    #include<stdio.h> #include<string.h> #include<queue> using namespace std; #define ...

  2. [Linux]第五部分-Linux系统管理员

    启动流程如下:1.加载BIOS信息,读取第一个启动设备代号2.读取第一个启动设备的Mbr引导程序的启动信息3.加载操作系统核心信息4.核心执行init程序并获取运行信息5.init执行 /etc/rc ...

  3. Ubuntu16.04安装Caffe

    一.安装ccmake ccmake和cmake的功能是一样的,但它很方便设置编译前的一些参数,安装只需从官网下载压缩包,解压,最后将解压得到的文件夹中的bin文件夹的路径加入PATH环境变量中即可. ...

  4. SVG中一些较为具体的文档

    绘制线头尾标记 http://tutorials.jenkov.com/svg/marker-element.html 微软关于svg的文档 http://msdn.microsoft.com/zh- ...

  5. DELL灵越 n4030笔记本安装win7之无线网卡驱动安装

    本人安装的是win7 32位专业版,安装完成后发现无线网卡找不到了.DELL灵越 n4030自己带无线网卡的.问题的根源在于无线网卡驱动没有安装或没有安装匹配的无线网卡驱动. 那么问题来了.什么无线网 ...

  6. Word技巧杂记(二)——批量修改修订格式并接受

    今天的题目好奇怪啊,呵呵,起因如下: 今天老婆在修改论文,她的老板提出一个非常**的要求——把Word中所有修订后的文字用特殊的字体(蓝色)标出来,然后再接受修订.我勒个去,明明有修订后的模式啊,为什 ...

  7. LayoutParams继承于Android.View.ViewGroup.LayoutParams.

    LayoutParams相当于一个Layout的信息包,它封装了Layout的位置.高.宽等信息.假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中,最好告诉L ...

  8. BZOJ:2958 序列染色 DP

    bzoj2958 序列染色 题目传送门 Description 给出一个长度为N由B.W.X三种字符组成的字符串S,你需要把每一个X染成B或W中的一个. 对于给出的K,问有多少种染色方式使得存在整数a ...

  9. hdoj--2069--Coin Change(动态规划)

    Coin Change Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  10. redis的主从模式

    主从通信过程 Master配置: 1:关闭rdb快照(备份工作交给slave) 2:可以开启aof slave配置: 1: 声明slave-of slaveof 192.168.0.102 2: 配置 ...