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(); } }
文檔屬性修改/刪除效果:
(本文完)