Word文档提供了脚注的性能不便大家为标注内容进行拓展或解释,而不影响文章的连贯性。如果咱们不须要相干的正文,能够将脚注删除,从而只保留文章主体局部。而如果应用微软Word对脚注进行留神删除,会十分费时费力。特地是十分大的文档,须要操作者破费微小的工夫和经验。本文给大家介绍一种办法,通过简略的编程,即可移除Word文档中的所有脚注,方便快捷,无需大量操作。
此办法须要用到收费的库:Free Spire.Doc for Java,须要援用相干Jar文件到我的项目中。能够通过以下形式进行援用:

1. 应用Maven

复制上面的代码到我的项目文件夹下的“pom.xml“文件中

<repositories>        <repository>            <id>com.e-iceblue</id>            <name>e-iceblue</name>         <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url></repository></repositories><dependencies>    <dependency>        <groupId>e-iceblue</groupId>        <artifactId>spire.doc.free</artifactId>        <version>5.2.0</version>    </dependency></dependencies>

2. 官网下载

Spire.Doc for Java免费版官网下载免费版,解压后,在“Project Structure“中,找到”Modules“,而后在其中的“Dependencies”中,增加解压出的“lib”文件夹下的Spire.Doc.jar文件。

移除Word文档中的脚注

创立 Document 类的对象。
Document.loadFromFile() 办法从磁盘加载 Word 文档。
循环遍历文档中的所有节,节中的所有段落,以及段落中的所有子对象,并判断子对象是否是脚注。而后再用 Paragraph.getChildObjects().removeAt() 办法逐个删除脚注。
Document.saveToFile() 办法保存文档。

代码示例

import com.spire.doc.*;import com.spire.doc.fields.*;import com.spire.doc.documents.*;import java.util.*;public class RemoveFootnote {    public static void main(String[] args) {        //创立 Document 类的对象        Document document = new Document();        //从磁盘加载 Word 文档        document.loadFromFile("D:/Samples/Sample.docx");        //在所有节中循环        for (int i = 0; i < document.getSections().getCount(); i++) {            //获取指定节            Section section = document.getSections().get(i);            //在该节中的段落中循环            for (int j = 0; j < section.getParagraphs().getCount(); j++)            {                //获取指定段落                Paragraph para = section.getParagraphs().get(j);                //创立列表                List<Footnote> footnotes = new ArrayList<>();                //在段落的所有子对象中循环                for (int k = 0, cnt = para.getChildObjects().getCount(); k < cnt; k++)                {                    //获取指定子对象                    ParagraphBase pBase = (ParagraphBase)para.getChildObjects().get(k);                    //判断该子对象是否为脚注                    if (pBase instanceof Footnote)                    {                        Footnote footnote = (Footnote)pBase;                        //将脚注增加到列表中                        footnotes.add(footnote);                    }                }                if (footnotes != null) {                    //在列表中的脚注中循环                    for (int y = 0; y < footnotes.size(); y++) {                        //删除指定脚注                        para.getChildObjects().remove(footnotes.get(y));                    }                }            }        }        //保存文档        document.saveToFile("output/removeFootnote.docx", FileFormat.Docx);    }}

移除成果

以上援用的是收费的Free Spire.PDF for Java中的JAR文件。