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();
}
}
修改/删除结果:
(本文完)
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。