Word文档属性包括常规、摘要、统计、内容、自定义五个部分,其中摘要一般包含文档标题、做者、类别、关键词等项目,自定义属性则能够包含更多附加信息,例如建立时间,联系电话等。恰当的摘要及自定义属性能够帮助读者快速了解文档所要传递的信息。本文将经过使用Java编程来演示如何添加、读取、修改、删除Word文档属性中摘要和自定义板块。html
使用工具:Free Spire.Doc for Java(免费版)java
Jar文件获取及导入:sql
方法1:经过官网下载获取jar包。解压文件后将lib文件夹下的Spire.Doc.jar文件导入Java程序。(以下图)编程
方法2:经过maven仓库安装导入。具体安装教程详见此网页。maven
【示例1】添加文档属性工具
import com.spire.doc.*; import java.sql.Date; import java.time.Clock; import java.time.LocalDate; public class AddProperties { public static void main(String[] args) { //加载测试文档 Document doc = new Document("C:\\Users\\Test1\\Desktop\\Sample.docx"); //设置内置文档属性 doc.getBuiltinDocumentProperties().setTitle("Vlog剪辑指南"); doc.getBuiltinDocumentProperties().setSubject("Word文档"); doc.getBuiltinDocumentProperties().setCategory("A类"); doc.getBuiltinDocumentProperties().setCompany("Tencent"); doc.getBuiltinDocumentProperties().setManager("Gary"); doc.getBuiltinDocumentProperties().setAuthor("HanJun"); doc.getBuiltinDocumentProperties().setKeywords("视频剪辑,Vlog"); 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("output/AddProperty.docx",FileFormat.Docx_2013); doc.dispose(); } }
文档属性添加效果:测试
【示例2】读取文档属性ui
import com.spire.doc.*; public class ReadProperties { public static void main(String[] args) { //加载文档 Document doc = new Document("C:\\Users\\Test1\\Desktop\\AddProperty.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()); } }
文档属性读取结果:spa
【示例3】修改/删除文档属性code
import com.spire.doc.*; public class RemoveProperties { public static void main(String[] args) { //加载文档 Document doc = new Document(); doc.loadFromFile("C:\\Users\\Test1\\Desktop\\AddProperty.docx"); //直接经过为内置属性赋值新的内容,修改原有摘要信息 doc.getBuiltinDocumentProperties().setTitle("Vlog拍摄教程"); 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("output/RemoveProperty.docx",FileFormat.Docx_2013); doc.dispose(); } }
文档属性修改/删除效果:
(本文完)