Java实现为Word文档添加文档属性

 更新时间:2026年03月27日 10:51:40   作者:缺点内向  
Word文档的文档属性是一组用于描述文件本身及其内容的元数据,本文以客观方式介绍如何在Java项目中为Word文档添加文档属性,包含环境准备、代码示例和注意事项,适合开发者快速上手

Word文档的文档属性(Document Properties)是一组用于描述文件本身及其内容的元数据,包括内置属性(如标题、作者、主题、关键词、公司等)和自定义属性。这些属性不会直接显示在文档正文中,但对文档的搜索、分类、版本管理和协作非常有用。在Java开发中,通过Spire.Doc for Java库可以直接操作这些属性,无需依赖Microsoft Office环境。本文以客观方式介绍如何在Java项目中为Word文档添加文档属性,包含环境准备、代码示例和注意事项,适合开发者快速上手。

一、环境准备

首先确保开发环境已安装JDK(推荐JDK 8及以上)。Spire.Doc for Java通过JAR包或Maven依赖引入项目。

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.5</version>
    </dependency>
</dependencies>

若不使用Maven,可从官网下载Spire.Doc.jar并添加到项目classpath。引入后,即可在代码中使用com.spire.doc包下的类。

二、添加内置文档属性(Built-in Document Properties)

内置文档属性是Microsoft Word预定义的固定属性集,名称不可更改,但值可以设置或修改。常见属性包括Title(标题)、Subject(主题)、Author(作者)、Company(公司)、Keywords(关键词)等。

操作步骤

  • 创建Document实例并加载现有Word文档(或新建空文档)。
  • 通过document.getBuiltinDocumentProperties()获取BuiltinDocumentProperties对象。
  • 调用相应setter方法设置属性值。
  • 调用saveToFile()保存文档。

完整代码示例

import com.spire.doc.BuiltinDocumentProperties;
import com.spire.doc.Document;
import com.spire.doc.FileFormat;

public class AddBuiltinDocumentProperties {
    public static void main(String[] args) throws Exception {
        // 创建Document实例并加载Word文档
        Document document = new Document();
        document.loadFromFile("Sample.docx");  // 可替换为实际文件路径

        // 获取内置文档属性对象
        BuiltinDocumentProperties standardProperties = document.getBuiltinDocumentProperties();

        // 设置具体属性值
        standardProperties.setTitle("添加文档属性示例");
        standardProperties.setSubject("Java开发教程");
        standardProperties.setAuthor("开发者姓名");
        standardProperties.setCompany("示例公司");
        standardProperties.setManager("项目经理");
        standardProperties.setCategory("文档处理");
        standardProperties.setKeywords("Java, Word, 文档属性, Spire.Doc");
        standardProperties.setComments("本文演示如何使用Spire.Doc for Java添加内置属性");

        // 保存文档,支持Docx_2013格式
        document.saveToFile("AddStandardProperties.docx", FileFormat.Docx_2013);
        System.out.println("内置文档属性添加完成!");
    }
}

运行后,打开生成的AddStandardProperties.docx,在文件属性(右键→属性→详细信息)中即可看到设置的值。

三、添加自定义文档属性(Custom Document Properties)

自定义文档属性由开发者或用户自行定义,支持名称自由设置,值类型包括文本(String)、日期(Date)、数字(int/long/double等)和布尔(boolean)。这在需要存储特定业务数据(如文档ID、审批状态、自定义标签)时特别实用。

操作步骤

  • 创建Document实例并加载文档。
  • 通过document.getCustomDocumentProperties()获取CustomDocumentProperties对象。
  • 使用add(String name, Object value)方法添加属性(value会自动识别类型)。
  • 保存文档。

完整代码示例

import com.spire.doc.CustomDocumentProperties;
import com.spire.doc.Document;
import com.spire.doc.FileFormat;

import java.util.Date;

public class AddCustomDocumentProperties {
    public static void main(String[] args) throws Exception {
        Document document = new Document();
        document.loadFromFile("Sample.docx");

        // 获取自定义文档属性对象
        CustomDocumentProperties customProperties = document.getCustomDocumentProperties();

        // 添加不同类型的自定义属性
        customProperties.add("文档ID", 2026001);                    // 数字类型
        customProperties.add("已审核", true);                       // 布尔类型
        customProperties.add("审核人", "张工程师");                 // 文本类型
        customProperties.add("审核日期", new Date());               // 日期类型

        // 保存文档
        document.saveToFile("AddCustomProperties.docx", FileFormat.Docx_2013);
        System.out.println("自定义文档属性添加完成!");
    }
}

自定义属性同样可在Word的“文件→信息→属性→高级属性→自定义”标签页中查看和编辑。

四、注意事项与扩展

  • 新建文档 vs 加载现有文档:以上示例均加载现有文件。若需从零创建文档,可使用new Document()后直接添加Section和内容,再设置属性。
  • 文件格式:推荐使用FileFormat.Docx_2013以确保兼容性;旧版.doc也可支持,但属性操作更推荐现代Docx格式。
  • 异常处理:实际项目中建议添加try-catch处理loadFromFilesaveToFile可能出现的IO异常。
  • 属性读取与删除:Spire.Doc for Java还提供getBuiltinDocumentProperties()/getCustomDocumentProperties()读取值,以及remove()方法删除属性,开发者可根据需求扩展。
  • 性能与兼容:操作仅针对内存中的文档对象,适合批量处理场景;生成的文档可在Word 2007及以上版本正常打开。
  • 多文档场景:可循环处理多个文件,或结合模板生成文档时同步设置属性。

最后

通过以上方法,开发者能够精准控制Word文档的元数据,实现文档自动化管理需求。实际开发中,建议结合具体业务场景测试属性在不同Word版本下的显示效果。

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

相关文章

  • java创建excel示例(jxl使用方法)

    java创建excel示例(jxl使用方法)

    Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新 已经存在的Excel文件。下面是使用方法,包括去掉网格线、字体设置、单元格设置、对齐方式等设置
    2014-03-03
  • 如何利用Jackson序列化忽略指定类型的属性详解

    如何利用Jackson序列化忽略指定类型的属性详解

    这篇文章主要给大家介绍了关于如何利用Jackson序列化忽略指定类型的属性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • RabbitMQ消息队列实现延迟任务示例

    RabbitMQ消息队列实现延迟任务示例

    这篇文章主要为大家介绍了RabbitMQ消息队列实现延迟任务示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • Spring MVC 启动过程源码分析详解

    Spring MVC 启动过程源码分析详解

    这篇文章主要介绍了Spring MVC 启动过程源码分析详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Springboot 限制IP访问指定的网址实现

    Springboot 限制IP访问指定的网址实现

    本文主要介绍了Springboot 限制IP访问指定的网址实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • Java使用TarsosDSP库实现音频的处理和格式转换

    Java使用TarsosDSP库实现音频的处理和格式转换

    在音频处理领域,Java虽然有原生的音频处理类库,但其功能相对基础,而TarsosDSP是一个强大的开源音频处理库,提供了丰富的功能,本文将介绍如何在Java中结合使用TarsosDSP库,来实现音频的处理和格式转换,需要的朋友可以参考下
    2025-04-04
  • java 线程池的实现原理、优点与风险、以及4种线程池实现

    java 线程池的实现原理、优点与风险、以及4种线程池实现

    这篇文章主要介绍了java 线程池的实现原理、优点与风险、以及4种线程池实现包括了:配置线程池大小配置,线程池的实现原理等,需要的朋友可以参考下
    2023-02-02
  • java加密解密示例分享

    java加密解密示例分享

    想要创造一个只有自己能看懂的文件吗?那就是对数据加密吧,下面分享一个java的数据加密与解密示例
    2014-01-01
  • JAVA基础 语句标签的合法使用,以及{}语句块到底有什么用?

    JAVA基础 语句标签的合法使用,以及{}语句块到底有什么用?

    以前的一个思维误区,for(){},if(){}之类的用法中,逻辑if()和语句块{}应该是相互独立的两种语法
    2012-08-08
  • SpringBoot读取properties文件配置项过程解析

    SpringBoot读取properties文件配置项过程解析

    这篇文章主要介绍了SpringBoot读取properties文件配置项过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06

最新评论