Java 添加、读取、修改、删除Word文档属性
程序员文章站
2023-04-04 16:39:17
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(); } }
属性添加效果:
【读取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(); } }
修改/删除结果:
(本文完)