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(); } }
修改/刪除結果:


(本文完)
