java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java读取或删除Word文档属性

Java使用Spire.Doc实现读取或删除Word文档属性

作者:缺点内向

在日常的文档处理工作中,Word 文档的属性扮演着重要角色,本文将介绍如何使用 Spire.Doc for Java 这一开源组件,以编程方式读取和删除 Word 文档中的内置属性与自定义属性,感兴趣的小伙伴可以了解下

在日常的文档处理工作中,Word 文档的属性(也称为元数据)扮演着重要角色。这些信息包括标题、作者、公司、关键词等,虽然不直接显示在正文中,却能帮助我们快速识别文档来源、分类检索,或判断文档用途。然而,在某些场景下(如对外分享文档),我们可能需要移除这些属性以保护隐私。

本文将介绍如何使用 Spire.Doc for Java 这一开源组件,以编程方式读取和删除 Word 文档中的内置属性与自定义属性。整个操作无需安装 Microsoft Office,适合在服务器端或自动化流程中集成。

一、准备工作:引入 Spire.Doc for Java

在开始编码前,需要将 Spire.Doc for Java 引入项目中。该库提供了简洁的 API 来操作 Word 文档结构。

方式一:通过 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</artifactId>
        <version>14.3.1</version>
    </dependency>
</dependencies>

方式二:手动导入 JAR 包

若未使用 Maven,可从官方渠道下载 Spire.Doc.jar 文件,并将其添加至项目的构建路径中 。

二、读取 Word 文档属性

Spire.Doc 将文档属性分为两类:

以下示例展示如何读取这两类属性:

import com.spire.doc.*;

public class ReadDocumentProperties {
    public static void main(String[] args) {
        // 加载 Word 文档
        Document doc = new Document("Sample.docx");

        // 获取内置属性
        BuiltinDocumentProperties builtin = doc.getBuiltinDocumentProperties();
        System.out.println("标题: " + builtin.getTitle());
        System.out.println("主题: " + builtin.getSubject());
        System.out.println("作者: " + builtin.getAuthor());
        System.out.println("公司: " + builtin.getCompany());
        System.out.println("关键词: " + builtin.getKeywords());

        // 获取自定义属性
        CustomDocumentProperties custom = doc.getCustomDocumentProperties();
        for (int i = 0; i < custom.getCount(); i++) {
            DocumentProperty prop = custom.get(i);
            System.out.println(prop.getName() + ": " + prop.getValue());
        }
    }
}

上述代码通过 Document.getBuiltinDocumentProperties()getCustomDocumentProperties() 获取属性集合,随后逐一读取其值 。

三、删除 Word 文档属性

删除属性的逻辑与读取类似,但操作方式略有不同:

import com.spire.doc.*;

public class RemoveDocumentProperties {
    public static void main(String[] args) {
        // 加载 Word 文档
        Document doc = new Document("Sample.docx");

        // 清空内置属性(设为空字符串)
        BuiltinDocumentProperties builtin = doc.getBuiltinDocumentProperties();
        builtin.setTitle("");
        builtin.setSubject("");
        builtin.setAuthor("");
        builtin.setCompany("");
        builtin.setKeywords("");
        builtin.setComments("");

        // 删除自定义属性
        CustomDocumentProperties custom = doc.getCustomDocumentProperties();
        // 方式一:按名称删除
        custom.remove("审核人");
        // 方式二:遍历删除所有
        for (int i = custom.getCount(); i > 0; i--) {
            String name = custom.get(i - 1).getName();
            custom.remove(name);
        }

        // 保存处理后的文档
        doc.saveToFile("Result.docx", FileFormat.Docx);
        doc.dispose();
    }
}

需要注意的是,遍历删除自定义属性时建议倒序删除,避免因索引变化导致遗漏 。

四、应用场景与注意事项

适用场景

注意事项

五、结语

通过 Spire.Doc for Java,我们可以轻松实现对 Word 文档属性的读取与删除操作。这一能力不仅简化了文档管理流程,也为隐私保护提供了编程层面的支持。无论是单独使用,还是集成到企业级文档处理系统中,该方案都表现出良好的稳定性与可扩展性。

实际开发中,你可以根据业务需要,灵活组合读取、删除、修改等操作,构建更智能的文档处理应用。

到此这篇关于Java使用Spire.Doc实现读取或删除Word文档属性的文章就介绍到这了,更多相关Java读取或删除Word文档属性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文