本篇文章將繼續介紹經過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(); } }
替換效果:
(本文完)
轉載請出名出處!