当前位置: 移动技术网 > IT编程>开发语言>C/C++ > Java 操作Word书签(三):用文本、图片、表格替换书签

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

2019年08月28日  | 移动技术网IT编程  | 我要评论

fiestar在伊,汤佶靓,求一个能看片的网站

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

 

使用工具:free spire.doc for java

jar文件获取及导入:

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

方法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();
    }
}

替换效果:

 

【示例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();
    }
}

替换效果:

 

【示例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();
    }
}

替换效果:

 

(本文完)

 转载请出名出处!

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网