资源简介

完美市县了DOCX格式的模板文字替换与插入浮于文字上方的图片。

资源截图

代码片段和文件信息

package test;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Range;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.apache.poi.xwpf.usermodel.XWPFTableCell;
import org.apache.poi.xwpf.usermodel.XWPFTableRow;
import org.apache.xmlbeans.xmlException;
import org.apache.xmlbeans.xmlToken;

public class CreateFile {

@SuppressWarnings(“resource“)
public static void main(String[] args) throws Exception{
Map parm = new HashMap();
parm.put(“${bjbh}“ “_办件编号“);
parm.put(“${bjbh+}“ “行政许可申请材料接收(受理)通知书、行政许可决定书_J14001201401010001“);
parm.put(“${applyDepartmentPerson}“ “_办理人“);
parm.put(“${receive_year}“ “——年“);
parm.put(“${receive_month}“ “——月“);
parm.put(“${receive_day}“ “——日“);
parm.put(“${dealName}“ “——名称“);
searchAndReplace (“C:/Users/Administrator/Desktop/送达回证_系统生成.docx““C:/Users/Administrator/Desktop/送达回证_系统生成_g1.docx“parm);
}


@SuppressWarnings(“resource“)
public static void searchAndReplace(String srcPath String destPathMap map) {
        try {
         File fxx = new File(srcPath);
         InputStream isxxx = new FileInputStream(fxx);
         byte[] xxxx = new byte[isxxx.available()] ;
        
         isxxx.read(xxxx);
        
         //InputStream docis = new FileInputStream(srcPath);
         CustomXWPFDocument document = new CustomXWPFDocument(new ByteArrayInputStream(xxxx));
         //document.setParagraph(paragraph pos);
            // 替换段落中的指定文字
            Iterator itPara = document.getParagraphsIterator();
            while (itPara.hasNext()) {
                XWPFParagraph paragraph = (XWPFParagraph) itPara.next();
                //String s = paragraph.getParagraphText();        
                Set set = map.keySet();
                Iterator iterator = set.iterator();
                while (iterator.hasNext()) {
                    String key = iterator.next();
                    List run=paragraph.getRuns();
                     for(int i=0;i                      {
                      if(run.get(i).getText(run.get(i).getTextPosition())!=null && run.get(i).getText(run.get(i).getTextPosition()).trim().equals(key))
                      {    
                        /**参数0表示生成的文字是要从哪一个地方开始放置设置文字从位置0开始
                         * 就可以把原来的文字全部替换掉了
                        * */         
                          run.get(i).setText(map.get(k

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       8458  2017-11-22 11:46  CustomXWPFDocument.java

     文件       8549  2017-11-23 09:31  CreateFile.java

----------- ---------  ---------- -----  ----

                17007                    2


评论

共有 条评论