-
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
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
数据库审计与智能监控:从日志分析到异
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比