为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Java

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();
     }
 }

属性添加效果:

https://img1.sycdn.imooc.com//5dba51d50001ac5b04340533.jpg

https://img1.sycdn.imooc.com//5dba51dd00015c2a04340533.jpg

【读取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());
     }
 }

文档属性读取结果:

https://img1.sycdn.imooc.com//5dba51f700013a6704210290.jpg

【修改/删除文档属性】

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://img1.sycdn.imooc.com//5dba523700012b7208400495.jpg

https://img1.sycdn.imooc.com//5dba52370001fb6908520486.jpg

(本文完)

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
9
获赞与收藏
48

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消