您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Java如何添加、讀取、刪除Word腳注/尾注”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Java如何添加、讀取、刪除Word腳注/尾注”這篇文章吧。
使用工具:Free Spire.Doc for Java (免費版)
Jar文件獲取及導入:
方法1:通過官網下載jar文件包,并解壓。解壓文件后,將lib文件夾中的Spire.Doc.jar文件導入Java程序。
方法2:通過maven倉庫導入。
【示例1】添加腳注、尾注
import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import com.spire.doc.documents.TextSelection; import com.spire.doc.fields.Footnote; import com.spire.doc.fields.TextRange; import java.awt.*; public class AddFootnoteEndnote { public static void main(String[] args){ //加載測試文檔 Document doc = new Document("test.doc"); //添加腳注1:給指定段落添加腳注 Paragraph para1 = doc.getSections().get(0).getParagraphs().get(2);//獲取段落 Footnote footnote1 = para1.appendFootnote(FootnoteType.Footnote);//添加腳注 TextRange text1 = footnote1.getTextBody().addParagraph().appendText("詳見附件內容"); text1.getCharacterFormat().setFontName("楷書");//格式化腳注標簽及腳注內容 text1.getCharacterFormat().setFontSize(10); text1.getCharacterFormat().setTextColor(new Color(255, 140, 0)); footnote1.getMarkerCharacterFormat().setFontName("楷書"); footnote1.getMarkerCharacterFormat().setFontSize(14); footnote1.getMarkerCharacterFormat().setTextColor(new Color(0, 0, 139)); //添加腳注2:給指定文本添加腳注 TextSelection[] selections = doc.findAllString("消除缺陷", false, true); for (TextSelection selection : selections) { TextRange range = selection.getAsOneRange(); Paragraph para2 = range.getOwnerParagraph(); Footnote footnote2 = para2.appendFootnote(FootnoteType.Footnote); int index = para2.getChildObjects().indexOf(range); para2.getChildObjects().insert(index + 1, footnote2); TextRange text2 = footnote2.getTextBody().addParagraph().appendText("請查看操作手冊"); text2.getCharacterFormat().setFontName("Arial Black"); text2.getCharacterFormat().setFontSize(10); text2.getCharacterFormat().setTextColor(new Color(153, 50, 204)); footnote2.getMarkerCharacterFormat().setFontName("Calibri"); footnote2.getMarkerCharacterFormat().setFontSize(14); footnote2.getMarkerCharacterFormat().setTextColor(new Color(0, 0, 139)); //添加尾注:給指定段落添加尾注(給指定文本添加尾注可參考以上添加腳注的代碼方法) Paragraph para3 = doc.getSections().get(0).getParagraphs().get(15); Footnote endnote= para3.appendFootnote(FootnoteType.Endnote); TextRange text3 = endnote.getTextBody().addParagraph().appendText("引用自劉玲《操作手冊》"); text3.getCharacterFormat().setFontName("Arial Black"); text3.getCharacterFormat().setFontSize(10); text3.getCharacterFormat().setTextColor(new Color(135, 206, 204)); endnote.getMarkerCharacterFormat().setFontName("Calibri"); endnote.getMarkerCharacterFormat().setFontSize(14); endnote.getMarkerCharacterFormat().setTextColor(new Color(0, 0, 139)); //保存文檔 doc.saveToFile("result.docx",FileFormat.Docx_2010); } } }
腳注添加效果:
尾注添加效果:
【示例2】讀取Word腳注、尾注
以上文中生成的腳注、尾注為測試文檔。
1. 讀取Word腳注
import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import com.spire.doc.fields.Footnote; import com.spire.doc.fields.TextRange; import java.util.List; public class ExtractFootnoteAndEndnote { public static void main(String[] args) { //創建Document實例 Document doc = new Document(); doc.loadFromFile("result.docx"); //獲取文檔中的所有腳注 List<Footnote> footNotes = doc.getFootnotes(); //實例化String類型變量 String str = ""; //遍歷腳注 for (Footnote footNote :footNotes) { //遍歷腳注中的段落 for (int j = 0; j < footNote.getTextBody().getParagraphs().getCount(); j++) { Paragraph paragraph = footNote.getTextBody().getParagraphs().get(j); //遍歷段落中的對象 for(Object object : paragraph.getChildObjects()){ //讀取文本 if (object instanceof TextRange) { TextRange textRange = (TextRange) object; str = str + textRange.getText(); } } } } //輸出腳注文本 System.out.println(str); } }
腳注讀取結果:
2. 讀取Word尾注
import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import com.spire.doc.fields.Footnote; import com.spire.doc.fields.TextRange; import java.util.List; public class ExtractFootnoteAndEndnote { public static void main(String[] args) { //創建Document實例 Document doc = new Document(); doc.loadFromFile("result.docx"); //獲取所有尾注 List<Footnote> endNotes = doc.getEndnotes(); //實例化String類型變量 String str = ""; //遍歷尾注 for (Footnote endnote :endNotes) { //遍歷尾注中的段落 for (int j = 0; j < endnote.getTextBody().getParagraphs().getCount(); j++) { Paragraph paragraph = endnote.getTextBody().getParagraphs().get(j); //遍歷段落中的對象 for(Object object : paragraph.getChildObjects()){ //讀取文本 if (object instanceof TextRange) { TextRange textRange = (TextRange) object; str = str + textRange.getText(); } } } } //輸出尾注文本 System.out.println(str); } }
尾注讀取結果:
【示例3】刪除Word腳注、尾注
import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import com.spire.doc.fields.Footnote; import java.util.List; public class DeleteFootnoteAndEndnote { public static void main(String[] args) { //加載測試文檔 Document doc = new Document(); doc.loadFromFile("result.docx"); //獲取第一個section Section section = doc.getSections().get(0); //遍歷所有段落中的子對象 for(int i =0; i<section.getParagraphs().getCount();i++){ Paragraph para = section.getParagraphs().get(i); for(int j = 0; j<para.getChildObjects().getCount();j++){ DocumentObject object = para.getChildObjects().get(j); //刪除腳注尾注 if(object instanceof Footnote){ para.getChildObjects().remove(object); } } } //保存文檔 doc.saveToFile("Removefootnote.docx", FileFormat.Docx); doc.dispose(); } }
以上是“Java如何添加、讀取、刪除Word腳注/尾注”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。