Java 操做Word書籤(三):用文本、圖片、表格替換書籤

本篇文章將繼續介紹經過Java來操做Word書籤的方法,即替換Word中已有書籤,包括用新的文本、圖片、表格等替換原有書籤處的內容。html

 

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

Jar文件獲取及導入:數組

方法1經過官網下載jar文件包。下載後,解壓文件。並將lib文件夾下的Spire.Doc.jar文件導入到java程序。參考以下導入效果:app

方法2可經過maven倉庫安裝導入。可參考安裝導入方法maven

 

 

Java代碼示例工具

【示例1】用文本替換書籤spa

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

替換效果:code

 

【示例2】用圖片替換書籤orm

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

替換效果:htm

 

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

替換效果:

 

(本文完)

 轉載請出名出處!

相關文章
相關標籤/搜索