精华内容
下载资源
问答
  • 先说下 需要的依赖包org.apache.poipoi-excelant3.12org.apache.poipoi-scratchpad3.12org.apache.poipoi-ooxml3.8org.apache.poipoi-ooxml-schemas3.8org.jfreejfreechart1.0.19org....需要替换的字符串地方“$1...

    先说下 需要的依赖包

    org.apache.poi

    poi-excelant

    3.12

    org.apache.poi

    poi-scratchpad

    3.12

    org.apache.poi

    poi-ooxml

    3.8

    org.apache.poi

    poi-ooxml-schemas

    3.8

    org.jfree

    jfreechart

    1.0.19

    org.docx4j

    docx4j

    3.3.1

    示例,下图

    6a6abd1c2e6883b5d0fb66e7400cfb4b.png

    如上图,需要替换的字符串地方“$1”为“1231”,在指定位置插入书签,并命名“test”    ,插入的图片如下

    0c6b84353ba52d6d860a888c4c1be410.png

    本人也没太过多去研究,亲测通过有效,在这分享下

    1.demo

    import java.awt.font;

    import java.io.file;

    import java.io.fileinputstream;

    import java.io.fileoutputstream;

    import java.io.ioexception;

    import java.io.inputstream;

    import java.math.biginteger;

    import java.text.decimalformat;

    import java.text.numberformat;

    import java.util.iterator;

    import java.util.list;

    import java.util.map;

    import java.util.set;

    import org.apache.poi.poixmldocument;

    import org.apache.poi.openxml4j.opc.opcpackage;

    import org.apache.poi.util.ioutils;

    import org.apache.poi.xwpf.usermodel.xwpfdocument;

    import org.apache.poi.xwpf.usermodel.xwpfparagraph;

    import org.apache.poi.xwpf.usermodel.xwpfrun;

    import org.docx4j.traversalutil;

    import org.docx4j.dml.wordprocessingdrawing.inline;

    import org.docx4j.finders.rangefinder;

    import org.docx4j.openpackaging.packages.wordprocessingmlpackage;

    import org.docx4j.openpackaging.parts.wordprocessingml.binarypartabstractimage;

    import org.docx4j.openpackaging.parts.wordprocessingml.maindocumentpart;

    import org.docx4j.wml.body;

    import org.docx4j.wml.booleandefaulttrue;

    import org.docx4j.wml.ctbookmark;

    import org.docx4j.wml.color;

    import org.docx4j.wml.document;

    import org.docx4j.wml.drawing;

    import org.docx4j.wml.hpsmeasure;

    import org.docx4j.wml.objectfactory;

    import org.docx4j.wml.p;

    import org.docx4j.wml.r;

    import org.docx4j.wml.rpr;

    import org.jfree.chart.chartfactory;

    import org.jfree.chart.chartutilities;

    import org.jfree.chart.jfreechart;

    import org.jfree.chart.labels.standardpiesectionlabelgenerator;

    import org.jfree.chart.plot.pieplot;

    import org.jfree.chart.title.texttitle;

    import org.jfree.data.general.defaultpiedataset;import com.aisino.qysds.common.constant.errorconstants;

    import com.aisino.qysds.common.exception.sysexception;

    import com.aisino.qysds.service.iexportbgservice;

    import com.google.common.collect.maps;

    public class exportbgserviceimpl {

    public static void main(string[] args) throws exception {

    map map = maps.newhashmap();

    map.put("$1", "1231");

    xwpfdocument document = new xwpfdocument(poixmldocument.openpackage("d:\\tp\\test.docx"));

    iterator itpara = document.getparagraphsiterator();

    while (itpara.hasnext()) {

    xwpfparagraph paragraph = (xwpfparagraph) itpara.next();

    list runs = paragraph.getruns();

    for (int i = 0; i < runs.size(); i++) {

    string oneparastring = runs.get(i).gettext(runs.get(i).gettextposition());

    for (map.entry entry : map.entryset()) {

    if (oneparastring.equals(entry.getkey())) {

    oneparastring = oneparastring.replace(entry.getkey(), entry.getvalue());

    }

    }

    runs.get(i).settext(oneparastring, 0);

    }

    }

    fileoutputstream outstream = null;

    outstream = new fileoutputstream("d:\\tp\\test1.docx");

    document.write(outstream);

    outstream.close();

    //-----------------------------------这块为生成图片 和 插入图片

    defaultpiedataset dataset = new defaultpiedataset();

    dataset.setvalue("修改类", 1);

    dataset.setvalue("提示类", 1);

    dataset.setvalue("校验不通过", 3);

    dataset.setvalue("正常类", 3);

    jfreechart chart = chartfactory.createpiechart3d(null, dataset, true, false, false);

    chart.getlegend().setitemfont(new font("黑体", font.bold, 15)); // 设置图例类别字体

    // texttitle title = new texttitle(titlestring);

    // title.setfont(new font("黑体", font.italic, 20));//设置标题字体

    // chart.settitle(title);

    pieplot pieplot = (pieplot) chart.getplot();

    decimalformat df = new decimalformat("0.00%");

    numberformat nf = numberformat.getinstance();

    standardpiesectionlabelgenerator generator = new standardpiesectionlabelgenerator("{0} {2}", nf, df);// 获得standardpiesectionlabelgenerator对象,生成的格式,

    // {0}表示section名,{1}表示section的值,{2}表示百分比。可以自定义

    pieplot.setlabelgenerator(generator);// 设置百分比

    pieplot.setlabelfont(new font("黑体", font.italic, 15));// 设置饼图中类别字体

    pieplot.setnodatamessage("此时并没有任何数据可用");

    pieplot.setcircular(false);

    pieplot.setlabelgap(0.02d);

    pieplot.setignorenullvalues(true);// 设置不显示空位

    pieplot.setignorezerovalues(true);// 设置不显示负值或零值

    string fname = "pie.png";

    file file = new file("d:\\tp", fname);

    if (file.exists()) {

    file.delete();

    }

    try {

    chartutilities.savechartaspng(file, chart, 800, 500);

    file file2 = new file("d:\\tp\\test1.docx");

    wordprocessingmlpackage wpackage = wordprocessingmlpackage.load(new fileinputstream(file2));

    maindocumentpart maindocumentpart = wpackage.getmaindocumentpart();

    document wmldoc = (document) maindocumentpart.getjaxbelement();

    body body = wmldoc.getbody();

    // 提取正文中所有段落

    list paragraphs = body.getcontent();

    // 提取书签并创建书签的游标

    rangefinder rt = new rangefinder("ctbookmark", "ctmarkuprange");

    new traversalutil(paragraphs, rt);

    for (ctbookmark bm : rt.getstarts()) {

    if (bm.getname().equals("test")) {// 这里的test为 word文档中预设的 书签名

    inputstream inputstream = new fileinputstream(file);

    byte[] bytes = ioutils.tobytearray(inputstream);

    binarypartabstractimage imagepart = binarypartabstractimage.createimagepart(wpackage, bytes);

    inline inline = imagepart.createimageinline(null, null, 0, 1, false, 10000);//这里的100000不是正常屏幕大小,用于设置插入图片的大小

    p p = (p) (bm.getparent());

    objectfactory factory = new objectfactory();

    // r对象是匿名的复杂类型,然而我并不知道具体啥意思,估计这个要好好去看看ooxml才知道

    r run = factory.creater();

    // drawing理解为画布?

    drawing drawing = factory.createdrawing();

    drawing.getanchororinline().add(inline);

    run.getcontent().add(drawing);

    p.getcontent().add(run);

    }

    }

    wpackage.save(new fileoutputstream(new file("d:\\tp\\test1.docx")));

    } catch (ioexception e) {

    }

    }

    }

    最后效果图如下:

    b2361a602c4b1678dc22c30e483c0349.png

    总结

    以上所述是小编给大家介绍的java 替换word文档文字并指定位置插入图片,希望对大家有所帮助

    如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

    展开全文
  • Java 替换word文档文字

    千次阅读 2020-05-30 07:05:32
    最近项目中需要在word文档中指定位置动态添加文字,记录下项目中的实现方式 添加依赖的lib <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-excelant</artifactId&...

    最近项目中需要在word文档中指定位置动态添加文字,记录下项目中的实现方式

    1. 添加依赖的lib
    <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-excelant</artifactId>
                <version>3.12</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-scratchpad</artifactId>
                <version>3.12</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>3.8</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml-schemas</artifactId>
                <version>3.8</version>
            </dependency>
    
    1. 在word文档中添加标识位
      在这里插入图片描述
    2. 代码
    public class WordTest {
    
        public static void main(String[] args) throws Exception {
            Map<String, String> map = new HashMap<>();
            map.put("$name", "1231");
            XWPFDocument document = new XWPFDocument(POIXMLDocument.openPackage("E:\\新建文件夹\\demo.docx"));
            Iterator<XWPFParagraph> itPara = document.getParagraphsIterator();
            while (itPara.hasNext()) {
                XWPFParagraph paragraph = (XWPFParagraph) itPara.next();
                List<XWPFRun> runs = paragraph.getRuns();
                for (int i = 0; i < runs.size(); i++) {
                    String oneparaString = runs.get(i).getText(runs.get(i).getTextPosition()).trim();
                    for (Map.Entry<String, String> entry : map.entrySet()) {
                        if (oneparaString.equals(entry.getKey())) {
                            oneparaString = oneparaString.replace(entry.getKey(), entry.getValue());
                        }
    
                    }
                    runs.get(i).setText(oneparaString, 0);
                }
            }
            FileOutputStream outStream = null;
            outStream = new FileOutputStream("E:\\新建文件夹\\test1.docx");
            document.write(outStream);
            outStream.close();
    
        }
    }
    
    1. 效果
      在这里插入图片描述
      在这里插入图片描述
    展开全文
  • 主要介绍了Java 替换word文档文字,指定位置插入图片功能,本文通过实例代码给大家讲解,需要的朋友可以参考下
  • import java.awt.image.BufferedImage;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.math.BigInteger;impor...

    import java.awt.image.BufferedImage;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.math.BigInteger;importjava.text.DecimalFormat;importjava.text.NumberFormat;importjava.util.Iterator;importjava.util.List;importjava.util.Map;importjava.util.Set;

    import javax.imageio.ImageIO;importorg.apache.poi.POIXMLDocument;importorg.apache.poi.openxml4j.opc.OPCPackage;importorg.apache.poi.util.IOUtils;importorg.apache.poi.xwpf.usermodel.XWPFDocument;importorg.apache.poi.xwpf.usermodel.XWPFParagraph;importorg.apache.poi.xwpf.usermodel.XWPFRun;importorg.docx4j.TraversalUtil;importorg.docx4j.dml.wordprocessingDrawing.Inline;importorg.docx4j.finders.RangeFinder;importorg.docx4j.openpackaging.packages.WordprocessingMLPackage;importorg.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage;importorg.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart;importorg.docx4j.wml.Body;importorg.docx4j.wml.BooleanDefaultTrue;importorg.docx4j.wml.CTBookmark;importorg.docx4j.wml.Color;importorg.docx4j.wml.Document;importorg.docx4j.wml.Drawing;importorg.docx4j.wml.HpsMeasure;importorg.docx4j.wml.ObjectFactory;importorg.docx4j.wml.P;importorg.docx4j.wml.R;importorg.docx4j.wml.RPr;importorg.jfree.chart.ChartFactory;importorg.jfree.chart.ChartUtilities;importorg.jfree.chart.JFreeChart;importorg.jfree.chart.labels.StandardPieSectionLabelGenerator;importorg.jfree.chart.plot.PiePlot;importorg.jfree.chart.title.TextTitle;importorg.jfree.data.general.DefaultPieDataset;importcom.google.common.collect.Maps;public class ExportBgServiceImpl {public static void main(String[] args) throwsException {

    Map map =Maps.newHashMap();

    map.put("$1", "1231");

    XWPFDocument document= new XWPFDocument(POIXMLDocument.openPackage("D:\\tp\\test.docx"));

    Iterator itPara =document.getParagraphsIterator();while(itPara.hasNext()) {

    XWPFParagraph paragraph=(XWPFParagraph) itPara.next();

    List runs =paragraph.getRuns();for (int i = 0; i < runs.size(); i++) {

    String oneparaString=runs.get(i).getText(runs.get(i).getTextPosition()).trim();for (Map.Entryentry : map.entrySet()) {if(oneparaString.equals(entry.getKey())) {

    oneparaString=oneparaString.replace(entry.getKey(), entry.getValue());

    }

    }

    runs.get(i).setText(oneparaString,0);

    }

    }

    FileOutputStream outStream= null;

    outStream= new FileOutputStream("D:\\tp\\test1.docx");

    document.write(outStream);

    outStream.close();

    //-----------------------------------这块为生成图片 和 插入图片

    DefaultPieDataset dataset= newDefaultPieDataset();

    dataset.setValue("修改类", 1);

    dataset.setValue("提示类", 1);

    dataset.setValue("校验不通过", 3);

    dataset.setValue("正常类", 3);

    JFreeChart chart= ChartFactory.createPieChart3D(null, dataset, true, false, false);

    chart.getLegend().setItemFont(new Font("黑体", Font.BOLD, 15)); //设置图例类别字体//TextTitle title = new TextTitle(titleString);//title.setFont(new Font("黑体", Font.ITALIC, 20));//设置标题字体//chart.setTitle(title);

    PiePlot piePlot =(PiePlot) chart.getPlot();

    DecimalFormat df= new DecimalFormat("0.00%");

    NumberFormat nf=NumberFormat.getInstance();

    StandardPieSectionLabelGenerator generator= new StandardPieSectionLabelGenerator("{0} {2}", nf, df);//获得StandardPieSectionLabelGenerator对象,生成的格式,//{0}表示section名,{1}表示section的值,{2}表示百分比。可以自定义

    piePlot.setLabelGenerator(generator);//设置百分比

    piePlot.setLabelFont(new Font("黑体", Font.ITALIC, 15));//设置饼图中类别字体

    piePlot.setNoDataMessage("此时并没有任何数据可用");

    piePlot.setCircular(false);

    piePlot.setLabelGap(0.02D);

    piePlot.setIgnoreNullValues(true);//设置不显示空位

    piePlot.setIgnoreZeroValues(true);//设置不显示负值或零值String tpPath = "D:\\tp\\pie.png";

    File file= new File(tpPath);if(file.exists()) {

    file.delete();

    }try{

    ChartUtilities.saveChartAsPNG(file, chart,800, 500);

    File file2= new File("D:\\tp\\test1.docx");

    WordprocessingMLPackage wPackage= WordprocessingMLPackage.load(newFileInputStream(file2));

    MainDocumentPart mainDocumentPart=wPackage.getMainDocumentPart();

    Document wmlDoc=(Document) mainDocumentPart.getJaxbElement();

    Body body=wmlDoc.getBody();//提取正文中所有段落

    List paragraphs =body.getContent();//提取书签并创建书签的游标

    RangeFinder rt = new RangeFinder("CTBookmark", "CTMarkupRange");newTraversalUtil(paragraphs, rt);for(CTBookmark bm : rt.getStarts()) {if (bm.getName().equals("test")) {// 这里的test为 word文档中预设的 书签名

    BufferedImage image =ImageIO.read(new File(tpPath));//下面为在图片上插入字符串 

    展开全文
  • 先说下 需要的依赖包org.apache.poipoi-excelant3.12org.apache.poipoi-scratchpad3.12org.apache.poipoi-ooxml3.8org.apache.poipoi-ooxml-schemas3.8org.jfreejfreechart1.0.19org....需要替换的字符串地方“$1...

    先说下 需要的依赖包

    org.apache.poi

    poi-excelant

    3.12

    org.apache.poi

    poi-scratchpad

    3.12

    org.apache.poi

    poi-ooxml

    3.8

    org.apache.poi

    poi-ooxml-schemas

    3.8

    org.jfree

    jfreechart

    1.0.19

    org.docx4j

    docx4j

    3.3.1

    示例,下图

    3a7c7f8343007ed5793993494fe01a1b.png

    如上图,需要替换的字符串地方“$1”为“1231”,在指定位置插入书签,并命名“test”    ,插入的图片如下

    eb3d1b47aded93155159d37a6fd9e3b3.png

    本人也没太过多去研究,亲测通过有效,在这分享下

    1.demo

    import java.awt.Font;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileOutputStream;

    import java.io.IOException;

    import java.io.InputStream;

    import java.math.BigInteger;

    import java.text.DecimalFormat;

    import java.text.NumberFormat;

    import java.util.Iterator;

    import java.util.List;

    import java.util.Map;

    import java.util.Set;

    import org.apache.poi.POIXMLDocument;

    import org.apache.poi.openxml4j.opc.OPCPackage;

    import org.apache.poi.util.IOUtils;

    import org.apache.poi.xwpf.usermodel.XWPFDocument;

    import org.apache.poi.xwpf.usermodel.XWPFParagraph;

    import org.apache.poi.xwpf.usermodel.XWPFRun;

    import org.docx4j.TraversalUtil;

    import org.docx4j.dml.wordprocessingDrawing.Inline;

    import org.docx4j.finders.RangeFinder;

    import org.docx4j.openpackaging.packages.WordprocessingMLPackage;

    import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage;

    import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart;

    import org.docx4j.wml.Body;

    import org.docx4j.wml.BooleanDefaultTrue;

    import org.docx4j.wml.CTBookmark;

    import org.docx4j.wml.Color;

    import org.docx4j.wml.Document;

    import org.docx4j.wml.Drawing;

    import org.docx4j.wml.HpsMeasure;

    import org.docx4j.wml.ObjectFactory;

    import org.docx4j.wml.P;

    import org.docx4j.wml.R;

    import org.docx4j.wml.RPr;

    import org.jfree.chart.ChartFactory;

    import org.jfree.chart.ChartUtilities;

    import org.jfree.chart.JFreeChart;

    import org.jfree.chart.labels.StandardPieSectionLabelGenerator;

    import org.jfree.chart.plot.PiePlot;

    import org.jfree.chart.title.TextTitle;

    import org.jfree.data.general.DefaultPieDataset;import com.aisino.qysds.common.constant.ERRORConstants;

    import com.aisino.qysds.common.exception.SysException;

    import com.aisino.qysds.service.IExportBgService;

    import com.google.common.collect.Maps;

    public class ExportBgServiceImpl {

    public static void main(String[] args) throws Exception {

    Map map = Maps.newHashMap();

    map.put("$1", "1231");

    XWPFDocument document = new XWPFDocument(POIXMLDocument.openPackage("D:\\tp\\test.docx"));

    Iterator itPara = document.getParagraphsIterator();

    while (itPara.hasNext()) {

    XWPFParagraph paragraph = (XWPFParagraph) itPara.next();

    List runs = paragraph.getRuns();

    for (int i = 0; i < runs.size(); i++) {

    String oneparaString = runs.get(i).getText(runs.get(i).getTextPosition());

    for (Map.Entry entry : map.entrySet()) {

    if (oneparaString.equals(entry.getKey())) {

    oneparaString = oneparaString.replace(entry.getKey(), entry.getValue());

    }

    }

    runs.get(i).setText(oneparaString, 0);

    }

    }

    FileOutputStream outStream = null;

    outStream = new FileOutputStream("D:\\tp\\test1.docx");

    document.write(outStream);

    outStream.close();

    //-----------------------------------这块为生成图片 和 插入图片

    DefaultPieDataset dataset = new DefaultPieDataset();

    dataset.setValue("修改类", 1);

    dataset.setValue("提示类", 1);

    dataset.setValue("校验不通过", 3);

    dataset.setValue("正常类", 3);

    JFreeChart chart = ChartFactory.createPieChart3D(null, dataset, true, false, false);

    chart.getLegend().setItemFont(new Font("黑体", Font.BOLD, 15)); // 设置图例类别字体

    // TextTitle title = new TextTitle(titleString);

    // title.setFont(new Font("黑体", Font.ITALIC, 20));//设置标题字体

    // chart.setTitle(title);

    PiePlot piePlot = (PiePlot) chart.getPlot();

    DecimalFormat df = new DecimalFormat("0.00%");

    NumberFormat nf = NumberFormat.getInstance();

    StandardPieSectionLabelGenerator generator = new StandardPieSectionLabelGenerator("{0} {2}", nf, df);// 获得StandardPieSectionLabelGenerator对象,生成的格式,

    // {0}表示section名,{1}表示section的值,{2}表示百分比。可以自定义

    piePlot.setLabelGenerator(generator);// 设置百分比

    piePlot.setLabelFont(new Font("黑体", Font.ITALIC, 15));// 设置饼图中类别字体

    piePlot.setNoDataMessage("此时并没有任何数据可用");

    piePlot.setCircular(false);

    piePlot.setLabelGap(0.02D);

    piePlot.setIgnoreNullValues(true);// 设置不显示空位

    piePlot.setIgnoreZeroValues(true);// 设置不显示负值或零值

    String fName = "pie.png";

    File file = new File("D:\\tp", fName);

    if (file.exists()) {

    file.delete();

    }

    try {

    ChartUtilities.saveChartAsPNG(file, chart, 800, 500);

    File file2 = new File("D:\\tp\\test1.docx");

    WordprocessingMLPackage wPackage = WordprocessingMLPackage.load(new FileInputStream(file2));

    MainDocumentPart mainDocumentPart = wPackage.getMainDocumentPart();

    Document wmlDoc = (Document) mainDocumentPart.getJaxbElement();

    Body body = wmlDoc.getBody();

    // 提取正文中所有段落

    List paragraphs = body.getContent();

    // 提取书签并创建书签的游标

    RangeFinder rt = new RangeFinder("CTBookmark", "CTMarkupRange");

    new TraversalUtil(paragraphs, rt);

    for (CTBookmark bm : rt.getStarts()) {

    if (bm.getName().equals("test")) {// 这里的test为 word文档中预设的 书签名

    InputStream inputStream = new FileInputStream(file);

    byte[] bytes = IOUtils.toByteArray(inputStream);

    BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wPackage, bytes);

    Inline inline = imagePart.createImageInline(null, null, 0, 1, false, 10000);//这里的100000不是正常屏幕大小,用于设置插入图片的大小

    P p = (P) (bm.getParent());

    ObjectFactory factory = new ObjectFactory();

    // R对象是匿名的复杂类型,然而我并不知道具体啥意思,估计这个要好好去看看ooxml才知道

    R run = factory.createR();

    // drawing理解为画布?

    Drawing drawing = factory.createDrawing();

    drawing.getAnchorOrInline().add(inline);

    run.getContent().add(drawing);

    p.getContent().add(run);

    }

    }

    wPackage.save(new FileOutputStream(new File("D:\\tp\\test1.docx")));

    } catch (IOException e) {

    }

    }

    }

    最后效果图如下:

    7fe8c446d96dd3cdf34e73c339399f36.png

    总结

    以上所述是小编给大家介绍的Java 替换word文档文字并指定位置插入图片,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    展开全文
  • 注:本文由于个人工作需要,有对多个他人博文进行借鉴,...java代码对word文档进行文字,图片,表格的添加以及替换,效果图如下: 原文档: 替换后文档: 正文开始 前提:需要引入包 Spire.Doc.jar 大家可...
  • 这里的test为 word文档中预设的 书签名 BufferedImage image =ImageIO.read(new File(tpPath)); //下面为在图片上插入字符串 <!--  // Graphics g = image.getGraphics();  // 设置颜色  // g....
  • 先说下 需要的依赖包org.apache.poipoi-excelant3.12org.apache.poipoi-scratchpad3.12org.apache.poipoi-ooxml3.8org.apache.poipoi-ooxml-schemas3.8org.jfreejfreechart1.0.19org....需要替换的字符串地方“$1...
  • 我的office2003的,如果在 word = new ... 下面是采用jacob对Word文档进行一些处理,Java2Word.Java和对其的测试Java2WordTest.java package com.word; import java.util.Iterator;<br /
  • 文档中,可以通过图文混排的方式来增加内容的...本文将从在Word文档中添加、替换、删除图片等三个操作需求来介绍。具体代码可参考以下示例。工具使用:Free Spire.Doc for Java(免费版)Jar文件获取方法:方法...
  • 一般我们会选用 Apache POI 来对给定的模板进行操作,包括替换文字、生成内容等,选用 Apache POI 是因为这套 API 成熟好用,对于各个版本的 Word 及 Excel 都支持的很好。这里记录下我们是如何在开发过程中实现这一...
  • 最近公司的需求:替换docx文档中的指定文字(文章主题,时间等),生成新的docx文档,再把文档转换成pdf。目的是在pdf中签名使用
  • aspose.word读取word中的图片并替换文字try {// 新建文档对象Document doc = new Document(filePath);// 查询文档中所有图片NodeCollection shapeCollection = doc.getChildNodes(NodeType.SHAPE, true);// 序列化...
  • java2word 是一个在java程序中调用 MS Office Word 文档的组件(类库)。...查找文字、替换文字, 插入文字、插入图片、插入表格, 在书签处插入文字、插入图片、插入表格等。 填充数据到表格中 读取表格数据
  • java读写word文档,完美解决方案

    千次阅读 2018-02-02 15:06:52
    java读写word文档,完美解决方案 java2word 是一个在java程序中调用 MS Office Word 文档的组件(类库)。该组件提供了一组简单的接口,以便java程序调用他的服务操作Word 文档。 这些服务包括: 打开文档...
  • 最近做适配碰到一个问题就是根据Word文档的书签自动替换书签的内容。 例如这个文字列中两个书签的内容,现在需要替换成其他的内容。 import com.aspose.words.BookmarkCollection; import ...
  • word中提取中文打开Word,CTRL+F打开“查找替换”对话框。点击下方的“查找替换”对话框的“高级”按钮。...这个时候我们就可以对英文字符进行格式设置。如何从WORD中截取几段文字并存入另一个WORD文档?我需要做一以...
  • 一、效果图对比(文本"d"和图片是后台动态加的) 之前: 之后: 二、首先在需要插入文本或图片位置设置书签 ...三、通过书签替换后台代码如下: ...//word文档所在路径 String img_path = "E:\\apache-tomcat-8...
  • 此处只介绍word模板部分,java代码等请自行百度,都一样。...1. 新建word文档,将需要动态赋值的地方用${xxx}替换(注意替换时最好先在txt写好,再粘贴到word中)。 2. 另存为word2003xml(便于兼容)文档。 3....
  • 此处只介绍word模板部分,java代码等请自行百度,...新建word文档,将需要动态赋值的地方用${xxx}替换(注意替换时最好先在txt写好,再粘贴到word中)。2.另存为word2003xml(便于兼容)文档。3.打开生成的xml文档,检查...
  • FreeMarker是一个用Java语言编写的模板引擎1. 制作 Word 模版,将你需要... 2、将 Word文档保存为 xml。 3、然后借助文件编辑器:EditPlus将需要动态生成的文字改为 ${ }格式如:服务 改为 ${fuwu} , 将 xml 文件更...
  • 编按:说起Word查找和替换功能,想必各位都有所了解,但许多人会以为它只是一个用来替换文字内容的功能。其实它的功能非常强大。工作中,可以利用查找和替换功能来帮助我们批量完成中英文排版,一起来看看吧!***...
  • 2、QQ截图粘贴到文档,添加些文字;3、用winrar打开(修改扩展名docx为rar或右键->打开方式->选择winrar程序),目录结构如下:.│ [Content_Types].xml│├─docProps│ app.xml│ core.xml│├─word│ │ ...
  • 我们在处理文档的时候,经常需要批量替换一些文字、图片,那么有哪些小技巧...1、打开为Word如果是Word文档的话,直接打开即可,如果是PDF文档的话,我们可以右键点击该文档,然后选择【打开方式】——【用Word打...
  • java 使用 POI替换doc中的文字

    千次阅读 2017-02-03 16:10:58
    在web开发中经常碰到需要导出文档的场景,一般是在word模板的基础上添加一些系统数据即可,用POI的range可以方便的...然而,使用getRange方法有可能破坏word文档中插入的图片。解决办法是把文档中图片版式改为嵌入型。
  • 按照word模板文件填充数据并下载还是挺有用的,...HWPFDocument read(File source),读取模板文件,HWPFDocument是poi对word的封装对象replace(HWPFDocument doc, Map replaces),替换部分文字table(HWPFDocument ...
  • 在WPS上写出所要的下载的word格式当做模板2. 把模板内不固定的内容(例:从数据库读取的信息)写成123或者好代替的文字标注3. 把固定模板另存为htm或者html格式4. 用文本编辑器(例:EditPlus,HBuilder等工具)打开...

空空如也

空空如也

1 2 3 4 5
收藏数 91
精华内容 36
关键字:

javaword文档替换文字

java 订阅