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

Word文檔屬性包括常規(guī)、摘要、統(tǒng)計(jì)、內(nèi)容、自定義等,其中摘要包括標(biāo)題、主題、作者、經(jīng)理、單位、類別、關(guān)鍵詞、備注等項(xiàng)目,通過設(shè)置這些摘要信息或自定義屬性可方便對(duì)文檔的管理。本文中將主要介紹對(duì)文檔摘要信息的添加,以及讀取或者編輯、刪除文檔中已設(shè)置的摘要信息或自定義文檔信息。下面將通過Java代碼詳細(xì)介紹。

使用工具:Free Spire.Doc for Java (免費(fèi)版)

Jar文件獲取及導(dǎo)入:

方法1:通過官網(wǎng)下載。下載后,解壓,將lib文件夾下的Spire.Doc.jar文件導(dǎo)入java程序。

方法2:通過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){ //加載測試文檔
        Document doc = new Document("test.docx"); //設(shè)置內(nèi)置文檔屬性
        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("此文檔僅供內(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"); //直接通過為內(nèi)置屬性賦值新的內(nèi)容,修改原有摘要信息
        doc.getBuiltinDocumentProperties().setTitle("說明書");
        doc.getBuiltinDocumentProperties().setSubject("測試使用");
        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(""); //通過方法刪除指定屬性內(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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容