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

Word文档属性包括常规、摘要、统计、内容、自定义五个部分,其中摘要通常包含文档标题、作者、类别、关键词等项目,自定义属性则可以包含更多附加信息,例如创建时间,联系电话等。恰当的摘要及自定义属性可以帮助读者快速了解文档所要传递的信息。本文将通过使用Java编程来演示如何添加、读取、修改、删除Word文档属性中摘要和自定义板块。

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

Jar文件获取及导入:

方法1:通过官网下载获取jar包。解压文件后将lib文件夹下的Spire.Doc.jar文件导入Java程序。(如下图)
安装图片.png

方法2:通过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.png

【示例2】读取文档属性

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

文档属性读取结果:

效果3.png

【示例3】修改/删除文档属性

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

文档属性修改/删除效果:

效果7.png

效果9.png

(本文完)

你可能感兴趣的:(java,word,自定义)