溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java如何添加、讀取、刪除Word腳注/尾注

發(fā)布時(shí)間:2021-11-20 14:32:44 來(lái)源:億速云 閱讀:267 作者:小新 欄目:編程語(yǔ)言

這篇文章主要為大家展示了“Java如何添加、讀取、刪除Word腳注/尾注”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Java如何添加、讀取、刪除Word腳注/尾注”這篇文章吧。

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

Jar文件獲取及導(dǎo)入:

方法1通過(guò)官網(wǎng)下載jar文件包,并解壓。解壓文件后,將lib文件夾中的Spire.Doc.jar文件導(dǎo)入Java程序。

方法2通過(guò)maven倉(cāng)庫(kù)導(dǎo)入。

【示例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){
         //加載測(cè)試文檔
         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("詳見(jiàn)附件內(nèi)容");
         text1.getCharacterFormat().setFontName("楷書");//格式化腳注標(biāo)簽及腳注內(nèi)容
         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("請(qǐng)查看操作手冊(cè)");
             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("引用自劉玲《操作手冊(cè)》");
          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);
         }
     }
 }

腳注添加效果:

Java如何添加、讀取、刪除Word腳注/尾注

尾注添加效果:

Java如何添加、讀取、刪除Word腳注/尾注

【示例2】讀取Word腳注、尾注

以上文中生成的腳注、尾注為測(cè)試文檔。

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) {
         //創(chuàng)建Document實(shí)例
         Document doc = new Document();
         doc.loadFromFile("result.docx");
 
         //獲取文檔中的所有腳注
        List<Footnote> footNotes = doc.getFootnotes();
 
        //實(shí)例化String類型變量
        String str = "";
 
        //遍歷腳注
         for (Footnote footNote :footNotes) {
             //遍歷腳注中的段落
             for (int j = 0; j < footNote.getTextBody().getParagraphs().getCount(); j++) {
                 Paragraph paragraph = footNote.getTextBody().getParagraphs().get(j);
                 //遍歷段落中的對(duì)象
                for(Object object : paragraph.getChildObjects()){
                    //讀取文本
                    if (object instanceof TextRange) {
                        TextRange textRange = (TextRange) object;
                        str = str + textRange.getText();
                    }
                }
 
             }
         }
         //輸出腳注文本
         System.out.println(str);
     }
 }

腳注讀取結(jié)果:

Java如何添加、讀取、刪除Word腳注/尾注

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) {
         //創(chuàng)建Document實(shí)例
         Document doc = new Document();
         doc.loadFromFile("result.docx");
 
        //獲取所有尾注
         List<Footnote> endNotes = doc.getEndnotes();
         //實(shí)例化String類型變量
         String str = "";
 
         //遍歷尾注
         for (Footnote endnote :endNotes) {
             //遍歷尾注中的段落
             for (int j = 0; j < endnote.getTextBody().getParagraphs().getCount(); j++) {
                 Paragraph paragraph = endnote.getTextBody().getParagraphs().get(j);
                 //遍歷段落中的對(duì)象
                 for(Object object : paragraph.getChildObjects()){
                     //讀取文本
                     if (object instanceof TextRange) {
                         TextRange textRange = (TextRange) object;
                         str = str + textRange.getText();
                     }
                 }
 
             }
         }
         //輸出尾注文本
         System.out.println(str);
     }
 }

尾注讀取結(jié)果:

Java如何添加、讀取、刪除Word腳注/尾注

【示例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) {
        //加載測(cè)試文檔
        Document doc = new Document();
        doc.loadFromFile("result.docx");
        //獲取第一個(gè)section
        Section section = doc.getSections().get(0);
        //遍歷所有段落中的子對(duì)象
        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腳注/尾注”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI