欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java 操作Word书签(三):用文本、图片、表格替换书签

程序员文章站 2022-05-20 21:39:46
本篇文章将继续介绍通过Java来操作Word书签的方法,即替换Word中已有书签,包括用新的文本、图片、表格等替换原有书签处的内容。 使用工具:Free Spire.Doc for Java Jar文件获取及导入: 方法1:通过官网下载jar文件包。下载后,解压文件。并将lib文件夹下的Spire. ......

本篇文章将继续介绍通过java来操作word书签的方法,即替换word中已有书签,包括用新的文本、图片、表格等替换原有书签处的内容。

 

使用工具:free spire.doc for java

jar文件获取及导入:

方法1通过官网下载jar文件包。下载后,解压文件。并将lib文件夹下的spire.doc.jar文件导入到java程序。参考如下导入效果:

Java 操作Word书签(三):用文本、图片、表格替换书签

方法2可通过仓库安装导入。可参考安装。

 

 

java代码示例

【示例1】用文本替换书签

import com.spire.doc.*;
import com.spire.doc.documents.bookmarksnavigator;

public class replacebookmarkcontentwithnewcontent {
    public static void main(string[]args){
        //加载包含书签的word文档
        document doc = new document();
        doc.loadfromfile("test.docx");

        //定位到指定书签位置
        bookmarksnavigator bookmarksnavigator = new bookmarksnavigator(doc);
        bookmarksnavigator.movetobookmark("bookmark1");

        //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致
        bookmarksnavigator.replacebookmarkcontent("新文本内容!",true);


        //保存文档
        doc.savetofile("replacewithnewcontent.docx",fileformat.docx_2013);
        doc.dispose();
    }
}

替换效果:

Java 操作Word书签(三):用文本、图片、表格替换书签

 

【示例2】用图片替换书签

import com.spire.doc.*;
import com.spire.doc.documents.bookmarksnavigator;
import com.spire.doc.documents.paragraph;
import com.spire.doc.documents.textbodypart;

public class replacebookmarkwithimg {
    public static void main(string[]args){
        //加载包含书签的文档
        document doc = new document();
        doc.loadfromfile("test.docx");

        //定位到指定书签位置
        bookmarksnavigator bookmarksnavigator = new bookmarksnavigator(doc);
        bookmarksnavigator.movetobookmark("bookmark1");

        //添加图片,替换原有书签内容
        paragraph para= new paragraph(doc);
        para.appendpicture("eth.png");
        textbodypart bodypart = new textbodypart(doc);
        bodypart.getbodyitems().add(para);
        bookmarksnavigator.replacebookmarkcontent(bodypart);

        //保存文档
        doc.savetofile("replacewithimg.docx",fileformat.docx_2013);
        doc.dispose();
    }
}

替换效果:

Java 操作Word书签(三):用文本、图片、表格替换书签

 

【示例3】用表格替换书签

import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.textrange;

public class replacebookmarkcontentwithtable {
    public static void main(string[]args){
        //加载包含书签的word文档
        document doc = new document();
        doc.loadfromfile("test.docx");

        //声明数组内容
        string[][] data =
                {
                        new string[]{"分类", "等级", "编号"},
                        new string[]{"a", "一级", "01a"},
                        new string[]{"b", "二级", "02b"},
                        new string[]{"c", "三级", "03c"},
                };

        //创建表格
        table table = new table(doc, true);
        table.resetcells(4, 3);
        for (int i = 0; i < data.length; i++) {
            tablerow datarow = table.getrows().get(i);
            for (int j = 0; j < data[i].length; j++) {
                textrange range = datarow.getcells().get(j).addparagraph().appendtext(data[i][j]);
                range.getownerparagraph().getformat().sethorizontalalignment(horizontalalignment.center);
                range.getcharacterformat().setfontname("楷体");
                datarow.getrowformat().sethorizontalalignment(rowalignment.center);
                datarow.getcells().get(j).getcellformat().setverticalalignment(verticalalignment.middle);
            }
        }

        //创建textbodypart对象
        textbodypart bodypart= new textbodypart(doc);
        bodypart.getbodyitems().add(table);

        //定位到指定书签位置
        bookmarksnavigator bookmarknavigator = new bookmarksnavigator(doc);
        bookmarknavigator.movetobookmark("bookmark1");

        //使用表格替换原书签的内容
        bookmarknavigator.replacebookmarkcontent(bodypart);

        //保存文档
        doc.savetofile("replacewithtable.docx", fileformat.docx);
        doc.dispose();
    }
}

替换效果:

Java 操作Word书签(三):用文本、图片、表格替换书签

 

(本文完)

 转载请出名出处!