乐趣区

关于java:Java-移除Word文档中的脚注

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 文件。

退出移动版