Java 添加、讀取、修改、刪除Word文檔屬性

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

屬性添加效果:
Java 添加、讀取、修改、刪除Word文檔屬性
Java 添加、讀取、修改、刪除Word文檔屬性
【讀取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());
    }
}

文檔屬性讀取結果:
Java 添加、讀取、修改、刪除Word文檔屬性
【修改/刪除文檔屬性】

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

修改/刪除結果:
Java 添加、讀取、修改、刪除Word文檔屬性
Java 添加、讀取、修改、刪除Word文檔屬性

(本文完)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章