word的docx中的文字、图片替换说明

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1,需要的jar:

2,替换docx文档的文字、图片实例

* 注意事项:

* word中的替换的文字replaceStr一定是从普通txt文本中粘贴过来的,这样才可以保证这些replaceStr的所有属性一致

* 才能保证这些replaceStr在同一个XWPFRun中。

public class WordTest2 {

String templatePathX = "D:/temp/打印样本/poi/打印样本.docx";

String savePath = "D:/temp/打印样本/poi/打印样本-temp.docx";

//image

String logoImagePath = "D:/temp/打印样本/forest_logo.png";

String IconImagePath = "D:/temp/打印样本/icon.jpg";

@Test

public void testDocx() {

try {

WordDocxUtil wordDocxUtil=new WordDocxUtil(templatePathX);

// ArrayList replaceEles =wordDocxUtil.getReplaceElements("\\$\\{[^{}]+\\}");

// for(String replaceEle:replaceEles){

// System.out.println(replaceEle);

// }

//替换文字

// Map map = new HashMap();

// map.put("${orderId}", "B123123");

// map.put("${boxName}", "王五");

// map.put("${course-1}", "语文");

// map.put("${score}", "85");

// wordDocxUtil.replaceText(map);

//单个文字替换

// wordDocxUtil.replaceText("${course}", "语文");

//正则表达式文字替换

// wordDocxUtil.replaceTextByRegex("\\$\\{course-\\d\\}", "[-_-]");

//替换图片

// Map imageMap = new HashMap();

// imageMap.put("width", "50");

// imageMap.put("height", "50");

// imageMap.put("imageType", WordDocxUtil.getSuffix(logoImagePath));

// imageMap.put("content", WordDocxUtil.inputStream2ByteArray(new FileInputStream(logoImagePath), true));

// wordDocxUtil.replaceImage("${forestLogo}", imageMap);

//

// imageMap = new HashMap();

// imageMap.put("width", "50");

// imageMap.put("height", "50");

// imageMap.put("imageType", WordDocxUtil.getSuffix(IconImagePath));

// imageMap.put("content", WordDocxUtil.inputStream2ByteArray(new FileInputStream(IconImagePath), true));

// wordDocxUtil.replaceImage("${icon}", imageMap);

// setComboboxV alue("paytype", "1,3,5,6");

// setComboboxV alue("makeType", "aa,vv");

wordDocxUtil.save(savePath);

} catch (Exception e) {

e.printStackTrace();

}

}

}

2,导入docx文档的操作帮助类

package com.util;

import java.io.ByteArrayInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

import org.apache.poi.POIXMLDocument;

import ermodel.UnderlinePatterns;

import ermodel.VerticalAlign;

import ermodel.XWPFDocument;

import ermodel.XWPFParagraph;

import ermodel.XWPFRun;

import ermodel.XWPFTable;

import ermodel.XWPFTableCell;

import ermodel.XWPFTableRow;

import org.apache.xmlbeans.XmlException;

import org.apache.xmlbeans.XmlToken;

import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D;

import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline;

/**

* @author longlin

* 注意事项:

* 1,替换的特殊文字replaceStr一定是从普通txt文本中粘贴过来的,这样才可以保证这些replaceStr的所有属性一致

* 才能保证这些replaceStr在同一个XWPFRun中。

相关文档
最新文档