Word文檔屬性包括常規(guī)叹螟、摘要鹃骂、統(tǒng)計(jì)、內(nèi)容罢绽、自定義等畏线,其中摘要包括標(biāo)題、主題良价、作者寝殴、經(jīng)理、單位棚壁、類別杯矩、關(guān)鍵詞栈虚、備注等項(xiàng)目袖外,通過(guò)設(shè)置這些摘要信息或自定義屬性可方便對(duì)文檔的管理。本文中將主要介紹對(duì)文檔摘要信息的添加魂务,以及讀取或者編輯曼验、刪除文檔中已設(shè)置的摘要信息或自定義文檔信息。下面將通過(guò)Java代碼詳細(xì)介紹粘姜。
使用工具:Free Spire.Doc for Java (免費(fèi)版)
Jar文件獲取及導(dǎo)入:
方法1:通過(guò)官網(wǎng)下載鬓照。下載后,解壓孤紧,將lib文件夾下的Spire.Doc.jar文件導(dǎo)入java程序豺裆。
方法2:通過(guò)maven安裝導(dǎo)入。
【添加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){ //加載測(cè)試文檔
Document doc = new Document("test.docx"); //設(shè)置內(nèi)置文檔屬性
doc.getBuiltinDocumentProperties().setTitle("操作手冊(cè)");
doc.getBuiltinDocumentProperties().setSubject("Word文檔");
doc.getBuiltinDocumentProperties().setCategory("A類");
doc.getBuiltinDocumentProperties().setCompany("Alibaba");
doc.getBuiltinDocumentProperties().setManager("Jamy");
doc.getBuiltinDocumentProperties().setAuthor("LiuHan");
doc.getBuiltinDocumentProperties().setKeywords("操作手冊(cè)号显,說(shuō)明書臭猜,要件");
doc.getBuiltinDocumentProperties().setComments("此文檔僅供內(nèi)部使用");
doc.getBuiltinDocumentProperties().setCreateDate(Date.valueOf(LocalDate.of(2019,7,1)));
doc.getBuiltinDocumentProperties().setLastSaveDate(Date.valueOf(LocalDate.now(Clock.systemUTC())));
doc.getBuiltinDocumentProperties().setRevisionNumber("2"); //設(shè)置自定義文檔屬性
doc.getCustomDocumentProperties().add("文檔創(chuàng)建級(jí)別","B級(jí)");
doc.getCustomDocumentProperties().add("行政文件否","否"); //保存文檔
doc.saveToFile("SetProperty.docx",FileFormat.Docx_2013);
doc.dispose();
}
}
屬性添加效果:
706090-20191127134810144-898992015.png
706090-20191127134819530-95146380.png
【讀取Word文檔屬性】
import com.spire.doc.*; public class ReadDocumentProperty { public static void main(String[]args){ //加載文檔
Document doc = new Document("SetProperty.docx"); //讀取內(nèi)置文檔屬性
System.out.println("標(biāo)題: " + 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("關(guān)鍵字:" + 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());
}
}
文檔屬性讀取結(jié)果:
706090-20191127134852759-2073406228.png
【修改/刪除文檔屬性】
import com.spire.doc.*; public class RemoveDocumentProperty { public static void main(String[] args) { //加載文檔
Document doc = new Document();
doc.loadFromFile("SetProperty.docx"); //直接通過(guò)為內(nèi)置屬性賦值新的內(nèi)容,修改原有摘要信息
doc.getBuiltinDocumentProperties().setTitle("說(shuō)明書");
doc.getBuiltinDocumentProperties().setSubject("測(cè)試使用");
doc.getBuiltinDocumentProperties().setCategory("B類");
doc.getBuiltinDocumentProperties().setCompany("保密"); //設(shè)置內(nèi)置屬性值為空押蚤,刪除原有摘要信息
doc.getBuiltinDocumentProperties().setManager("");
doc.getBuiltinDocumentProperties().setAuthor("");
doc.getBuiltinDocumentProperties().setKeywords("");
doc.getBuiltinDocumentProperties().setComments("");
doc.getBuiltinDocumentProperties().setRevisionNumber(""); //通過(guò)方法刪除指定屬性內(nèi)容
doc.getCustomDocumentProperties().remove("文檔創(chuàng)建級(jí)別");
doc.getCustomDocumentProperties().remove("行政文件否"); //保存文檔
doc.saveToFile("RemoveProperty.docx",FileFormat.Docx_2013);
doc.dispose();
}
}
修改/刪除結(jié)果:
706090-20191127135600999-1220432199.png
706090-20191127135619625-1439211944.png
愿與諸君共進(jìn)步蔑歌,大量的面試題及答案還有資深架構(gòu)師錄制的視頻錄像:有Spring,MyBatis揽碘,Netty源碼分析案怯,高并發(fā)踩蔚、高性能、分布式、微服務(wù)架構(gòu)的原理鹅巍,JVM性能優(yōu)化、分布式架構(gòu)等這些成為架構(gòu)師必備的知識(shí)體系冕香,可以微信搜索539413949獲取猴鲫,最后祝大家都能拿到自己心儀的offer