Java 添加、读取、修改、删除Word文档属性

2019-11-27 16:03:13来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Java 添加、读取、修改、删除Word文档属性

Word文档属性包括常规、摘要、统计、内容、自定义等,其中摘要包括标题、主题、作者、经理、单位、类别、关键词、备注等项目,通过设置这些摘要信息或自定义属性可方便对文档的管理。本文中将主要介绍对文档摘要信息的添加,以及读取或者编辑、删除文档中已设置的摘要信息或自定义文档信息。下面将通过Java代码详细介绍。

使用工具:Free Spire.Doc for Java (免费版)

Jar文件获取及导入:

方法1通过官网下载。下载后,解压,将lib文件夹下的Spire.Doc.jar文件导入java程序。

方法2通过maven安装导入

 

【添加Word文档属性】

import com.spire.doc.*;
import java.sql.Date;
import java.time.Clock;
import java.time.LocalDate;

public class AddDocumentProperty {
    public static void main(String[] args){
        //加载测试文档
        Document doc = new Document("test.docx");

        //设置内置文档属性
        doc.getBuiltinDocumentProperties().setTitle("操作手册");
        doc.getBuiltinDocumentProperties().setSubject("Word文档");
        doc.getBuiltinDocumentProperties().setCategory("A类");
        doc.getBuiltinDocumentProperties().setCompany("Alibaba");
        doc.getBuiltinDocumentProperties().setManager("Jamy");
        doc.getBuiltinDocumentProperties().setAuthor("LiuHan");
        doc.getBuiltinDocumentProperties().setKeywords("操作手册,说明书,要件");
        doc.getBuiltinDocumentProperties().setComments("此文档仅供内部使用");
        doc.getBuiltinDocumentProperties().setCreateDate(Date.valueOf(LocalDate.of(2019,7,1)));
        doc.getBuiltinDocumentProperties().setLastSaveDate(Date.valueOf(LocalDate.now(Clock.systemUTC())));
        doc.getBuiltinDocumentProperties().setRevisionNumber("2");

        //设置自定义文档属性
        doc.getCustomDocumentProperties().add("文档创建级别","B级");
        doc.getCustomDocumentProperties().add("行政文件否","否");

        //保存文档
        doc.saveToFile("SetProperty.docx",FileFormat.Docx_2013);
        doc.dispose();
    }
}

属性添加效果:

 

 

 

 

 

 

【读取Word文档属性】

import com.spire.doc.*;

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

        //读取内置文档属性
        System.out.println("标题: " + doc.getBuiltinDocumentProperties().getTitle());
        System.out.println("主题: " + doc.getBuiltinDocumentProperties().getSubject());
        System.out.println("作者: " + doc.getBuiltinDocumentProperties().getAuthor());
        System.out.println("单位: " + doc.getBuiltinDocumentProperties().getCompany());
        System.out.println("主管: " + doc.getBuiltinDocumentProperties().getManager());
        System.out.println("类别: " + doc.getBuiltinDocumentProperties().getCategory());
        System.out.println("关键字:" + doc.getBuiltinDocumentProperties().getKeywords());
        System.out.println("备注: " + doc.getBuiltinDocumentProperties().getComments());

        //获取自定义文档属性
        DocumentProperty property = doc.getCustomDocumentProperties().get(0);
        //读取自定义文档属性的名称和值
        System.out.println("名称: " + property.getName());
        System.out.println("值: " + property.getValue());
    }
}

文档属性读取结果:

 

 

 

【修改/删除文档属性】

import com.spire.doc.*;

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

        //直接通过为内置属性赋值新的内容,修改原有摘要信息
        doc.getBuiltinDocumentProperties().setTitle("说明书");
        doc.getBuiltinDocumentProperties().setSubject("测试使用");
        doc.getBuiltinDocumentProperties().setCategory("B类");
        doc.getBuiltinDocumentProperties().setCompany("保密");

        //设置内置属性值为空,删除原有摘要信息
        doc.getBuiltinDocumentProperties().setManager("");
        doc.getBuiltinDocumentProperties().setAuthor("");
        doc.getBuiltinDocumentProperties().setKeywords("");
        doc.getBuiltinDocumentProperties().setComments("");
        doc.getBuiltinDocumentProperties().setRevisionNumber("");

        //通过方法删除指定属性内容
        doc.getCustomDocumentProperties().remove("文档创建级别");
        doc.getCustomDocumentProperties().remove("行政文件否");

        //保存文档
        doc.saveToFile("RemoveProperty.docx",FileFormat.Docx_2013);
        doc.dispose();
    }
}

修改/删除结果:

 

 

 

 

 

 

(本文完)

 


原文链接:https://www.cnblogs.com/Yesi/p/11941764.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java 又双叒叕发布新版本,这么多版本如何灵活管理?

下一篇:五、执行计划