`

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

阅读更多

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

 

使用工具:Free Spire.Doc for Java (免费版)

Jar文件获取及导入:

 

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


 

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

 

 

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

 替换效果:


 

(本文完)

 

 

  • 大小: 40 KB
  • 大小: 245.6 KB
  • 大小: 299.7 KB
  • 大小: 236 KB
0
0
分享到:
评论

相关推荐

    Java通过word模板配置书签生成word

    "Java通过word模板配置书签生成word"是一个技术方案,它利用了Java的API来处理Microsoft Word文档,特别是Apache POI库,这是一种强大的工具,允许开发者在Java程序中创建、修改和展示MS Office格式的文件。...

    用docx4j操作word书签,在word书签中插入文本

    用docx4j,jar出去word书签,在word书签中插入文本 源码可以通过以下链接查看: https://github.com/xulp-mzl/xlp-core https://github.com/xulp-mzl/xlp-third ...实例: public static void main(String[] args) ...

    word测试替换书签模板

    标题“word测试替换书签模板”涉及到的是在Java编程环境下,如何操作Microsoft Word 97-2003版本的文档模板,特别是针对书签内容的替换。书签是Word中的一个功能,允许用户在文档中设置特定位置的标记,方便后续对...

    利用poi+word模版书签,向word中插入数据

    3. **替换数据**:遍历书签列表,找到对应的XWPFParagraph或XWPFRun对象,然后使用setText()方法替换书签内的文本为实际数据。 4. **保存文档**:最后,使用XWPFDocument的write()方法将修改后的文档写入新的.docx...

    docx4j根据书签替换word中的内容

    本篇将详细介绍如何使用`docx4j`根据书签来替换Word文档中的内容。 首先,我们需要理解什么是书签。在Word文档中,书签是一种标记,可以用来标识文本或段落,以便稍后进行引用或操作。在`docx4j`中,我们可以通过...

    Aspose.words 实现插入文件,页面设置,替换 表格操作,分页等

    本篇文章将深入探讨Aspose.Words如何实现插入文件、页面设置、文本替换、表格操作以及分页等核心功能。 1. 插入文件: Aspose.Words提供了便捷的方法来插入一个文档到另一个文档中。这可以通过`DocumentBuilder`类...

    使用poi将word读取后替换指定内容后再次生成新word

    使用poi将word读取后替换指定内容后再次生成新word,本人经过测试,拿来即用!

    docx4j 替换文本

    使用这个类,我们可以指定一个要查找的文本和一个替换后的文本,然后docx4j会遍历整个文档,将所有匹配的文本替换为新的文本。这种方法可以应用于整个文档,也可以限制在特定的部分,如段落、表格、列表等。 下面是...

    JavaPDF操作类库API_Free Spire.PDF for Java_5.1.0

    文本列表、高亮、替换、上下标、对齐方式;形状;图片;数字签名、文档加密、骑缝章;表格;字体应用;附件;打印;超链接;注释;书签等。 2.应用场景:PDF文档创建、编辑、转换、预览及保存等需求的程序设计、系统...

    java poi 通过模板生成word文档

    Java POI 是一个非常强大的库,它允许程序员在Java环境中操作Microsoft Office格式的文件,包括Word、Excel和PowerPoint等。在这个场景中,我们关注的是使用POI来通过模板生成Word文档。这个过程通常涉及到读取一个...

    aspose.Words 实例

    public void insertTextByBookmark(Map,String&gt; map) map的key为表书签名称,value为要插入的文本 在多个书签位置批量插入文本 public void insertImageByBookmark(String bookmarkName, String imagePath) ...

    word中指定内容进行填充

    在实际应用中,可能还需要考虑如何处理表格、图片、页眉页脚等复杂情况,以及如何在大量文档中批量执行替换操作。对于这些需求,可以扩展上述的基本操作,结合文件处理和多线程等技术,构建更高效、更灵活的解决方案...

    aspose.word 解析word读取及word转pdf、转html

    3. 操作文档元素:Aspose.Word允许你在读取的同时修改文档内容,如替换文本、调整样式、添加或删除元素等。 4. 错误处理:在读取过程中,Aspose.Word会处理可能的格式错误或损坏,提供详细的异常信息以便调试。 **...

    java采用poi3.16解析word文档

    2、testpoi.java文件(直接运行),是实现读取word文档中的表格的功能,可指定读取word文档中某行某列的文本的内容 3、poidemo是一个web工程,运行后,点击首页中的下载按钮,跳转到ReadWriteAndDownloadDocServlet,...

    JAVA生成word文档代码加说明

    通过它,我们可以访问并操作Word文档的内容,如文本、表格、字段等。 3. **Fields和Field类**: `Fields`类代表文档中的所有字段,而`Field`类则代表单个字段。这些字段可以是日期、索引、书签等。在读取Word模板...

    Aspose.Words for Java 20.7

    Aspose.Words for Java 是一个强大的Java库,专门用于处理和操作Microsoft Word文档。这个库允许开发者在Java应用程序中创建、修改、提取内容和属性、插入图片、图表等,而不需要在服务器上安装Microsoft Office。...

    xml格式word文档解析器

    3. **表格书签替换**:除了在文本中使用书签,解析器还可以处理表格内的书签。这意味着可以替换表格单元格中的内容,这对于生成动态报告或自定义表格数据非常有效。 4. **表格循环**:在处理含有表格的文档时,解析...

    POI 操作word

    图片操作 `Picture` 类提供了对文档中图片的处理方法: - **getContent()**:获取图片的字节流。 - **getHeight()**:获取图片的高度。 - **getSize()**:获取图片的大小。 - **getWidth()**:获取图片的宽度。 -...

    freemaker导出word的doc_docx_带动态图片及word转pdf工具类_jar_万能整理汇总.rar

    使用Freemarker和POI,开发者可以方便地创建动态的Word文档,包括插入文本、表格、样式以及图片。 3. **动态图片**:在生成的Word文档中插入动态图片是一项挑战,因为图片可能需要根据数据模型动态改变。Freemarker...

    Aspose.Words根据word模板写入数据和图表(chart)

    3. 遍历文档,查找并替换书签或域。这通常可以通过`Document.FindReplace`方法实现,传入`FindText`(书签名称)和`ReplaceWithText`(要插入的实际数据)参数。 4. 插入图表。Aspose.Words提供了`DocumentBuilder`...

Global site tag (gtag.js) - Google Analytics