最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java使用Spire.Doc實現(xiàn)讀取或刪除Word文檔屬性

 更新時間:2026年03月30日 11:20:44   作者:缺點內(nèi)向  
在日常的文檔處理工作中,Word 文檔的屬性扮演著重要角色,本文將介紹如何使用 Spire.Doc for Java 這一開源組件,以編程方式讀取和刪除 Word 文檔中的內(nèi)置屬性與自定義屬性,感興趣的小伙伴可以了解下

在日常的文檔處理工作中,Word 文檔的屬性(也稱為元數(shù)據(jù))扮演著重要角色。這些信息包括標題、作者、公司、關(guān)鍵詞等,雖然不直接顯示在正文中,卻能幫助我們快速識別文檔來源、分類檢索,或判斷文檔用途。然而,在某些場景下(如對外分享文檔),我們可能需要移除這些屬性以保護隱私。

本文將介紹如何使用 Spire.Doc for Java 這一開源組件,以編程方式讀取和刪除 Word 文檔中的內(nèi)置屬性與自定義屬性。整個操作無需安裝 Microsoft Office,適合在服務(wù)器端或自動化流程中集成。

一、準備工作:引入 Spire.Doc for Java

在開始編碼前,需要將 Spire.Doc for Java 引入項目中。該庫提供了簡潔的 API 來操作 Word 文檔結(jié)構(gòu)。

方式一:通過 Maven 安裝

pom.xml 中添加以下倉庫和依賴:

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc</artifactId>
        <version>14.3.1</version>
    </dependency>
</dependencies>

方式二:手動導(dǎo)入 JAR 包

若未使用 Maven,可從官方渠道下載 Spire.Doc.jar 文件,并將其添加至項目的構(gòu)建路徑中 。

二、讀取 Word 文檔屬性

Spire.Doc 將文檔屬性分為兩類:

  • 內(nèi)置屬性:如標題、主題、作者、公司、類別、關(guān)鍵詞、備注等,由 Word 預(yù)定義。
  • 自定義屬性:用戶自行定義的屬性,支持文本、日期、數(shù)字等類型。

以下示例展示如何讀取這兩類屬性:

import com.spire.doc.*;

public class ReadDocumentProperties {
    public static void main(String[] args) {
        // 加載 Word 文檔
        Document doc = new Document("Sample.docx");

        // 獲取內(nèi)置屬性
        BuiltinDocumentProperties builtin = doc.getBuiltinDocumentProperties();
        System.out.println("標題: " + builtin.getTitle());
        System.out.println("主題: " + builtin.getSubject());
        System.out.println("作者: " + builtin.getAuthor());
        System.out.println("公司: " + builtin.getCompany());
        System.out.println("關(guān)鍵詞: " + builtin.getKeywords());

        // 獲取自定義屬性
        CustomDocumentProperties custom = doc.getCustomDocumentProperties();
        for (int i = 0; i < custom.getCount(); i++) {
            DocumentProperty prop = custom.get(i);
            System.out.println(prop.getName() + ": " + prop.getValue());
        }
    }
}

上述代碼通過 Document.getBuiltinDocumentProperties()getCustomDocumentProperties() 獲取屬性集合,隨后逐一讀取其值 。

三、刪除 Word 文檔屬性

刪除屬性的邏輯與讀取類似,但操作方式略有不同:

  • 內(nèi)置屬性:無法直接刪除,但可通過將其值設(shè)置為空字符串來“清空”。
  • 自定義屬性:可直接通過 remove() 方法按名稱或索引刪除。
import com.spire.doc.*;

public class RemoveDocumentProperties {
    public static void main(String[] args) {
        // 加載 Word 文檔
        Document doc = new Document("Sample.docx");

        // 清空內(nèi)置屬性(設(shè)為空字符串)
        BuiltinDocumentProperties builtin = doc.getBuiltinDocumentProperties();
        builtin.setTitle("");
        builtin.setSubject("");
        builtin.setAuthor("");
        builtin.setCompany("");
        builtin.setKeywords("");
        builtin.setComments("");

        // 刪除自定義屬性
        CustomDocumentProperties custom = doc.getCustomDocumentProperties();
        // 方式一:按名稱刪除
        custom.remove("審核人");
        // 方式二:遍歷刪除所有
        for (int i = custom.getCount(); i > 0; i--) {
            String name = custom.get(i - 1).getName();
            custom.remove(name);
        }

        // 保存處理后的文檔
        doc.saveToFile("Result.docx", FileFormat.Docx);
        doc.dispose();
    }
}

需要注意的是,遍歷刪除自定義屬性時建議倒序刪除,避免因索引變化導(dǎo)致遺漏 。

四、應(yīng)用場景與注意事項

適用場景

  • 文檔歸檔:在入庫前統(tǒng)一清理作者、公司等敏感信息。
  • 對外發(fā)布:移除文檔屬性,防止內(nèi)部信息泄露。
  • 自動化處理:結(jié)合批處理流程,批量清理或讀取文檔元數(shù)據(jù)。

注意事項

  • 若文檔受密碼保護,需先解除保護再操作屬性。
  • Free Spire.Doc 版本存在頁數(shù)限制(通常為 10 頁),處理大型文檔時建議使用商業(yè)版或申請臨時授權(quán) 。
  • 刪除操作不可逆,建議在處理前備份原始文件。

五、結(jié)語

通過 Spire.Doc for Java,我們可以輕松實現(xiàn)對 Word 文檔屬性的讀取與刪除操作。這一能力不僅簡化了文檔管理流程,也為隱私保護提供了編程層面的支持。無論是單獨使用,還是集成到企業(yè)級文檔處理系統(tǒng)中,該方案都表現(xiàn)出良好的穩(wěn)定性與可擴展性。

實際開發(fā)中,你可以根據(jù)業(yè)務(wù)需要,靈活組合讀取、刪除、修改等操作,構(gòu)建更智能的文檔處理應(yīng)用。

到此這篇關(guān)于Java使用Spire.Doc實現(xiàn)讀取或刪除Word文檔屬性的文章就介紹到這了,更多相關(guān)Java讀取或刪除Word文檔屬性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java代碼實現(xiàn)銀行管理系統(tǒng)

    java代碼實現(xiàn)銀行管理系統(tǒng)

    這篇文章主要為大家詳細介紹了java代碼實現(xiàn)銀行管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • SpringBoot中AOP的多種用途與實踐指南

    SpringBoot中AOP的多種用途與實踐指南

    Spring Boot結(jié)合AOP提供了強大的功能,可以用于日志記錄、性能監(jiān)控、異常處理、權(quán)限校驗等多種場景,通過AOP,我們可以將橫切關(guān)注點從業(yè)務(wù)邏輯中分離出來,從而提高代碼的可維護性和可讀性,下面就來一起了解一下
    2026-03-03
  • Java高并發(fā)下請求合并處理方式

    Java高并發(fā)下請求合并處理方式

    這篇文章主要介紹了Java高并發(fā)下請求合并處理方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Mybatis批量提交實現(xiàn)步驟詳解

    Mybatis批量提交實現(xiàn)步驟詳解

    這篇文章主要介紹了Mybatis批量提交實現(xiàn)步驟詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • 集合框架(Collections Framework)詳解及代碼示例

    集合框架(Collections Framework)詳解及代碼示例

    這篇文章主要介紹了集合框架(Collections Framework)詳解及代碼示例,文章涉及集合數(shù)組的區(qū)別,collection接口,iterator迭代器,list接口及其用法,LinkedHashSet集合等有關(guān)內(nèi)容,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • 淺析java中stringBuilder的用法

    淺析java中stringBuilder的用法

    下面小編就為大家?guī)硪黄獪\析java中stringBuilder的用法。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧
    2016-05-05
  • @Autowired注入為null問題原因分析

    @Autowired注入為null問題原因分析

    這篇文章主要介紹了@Autowired注入為null問題原因分析嗎,小編覺得挺不錯的,對日后比較有幫助,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • JAVA調(diào)用JavaScript方法代碼示例

    JAVA調(diào)用JavaScript方法代碼示例

    我們都知道腳本語言非常靈活,在處理某些問題的時候Java實現(xiàn)用十幾行來寫,用js可能不到十行就寫完,并且非常簡潔,這篇文章主要給大家介紹了關(guān)于JAVA調(diào)用JavaScript方法的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • 使用Properties讀取配置文件的示例詳解

    使用Properties讀取配置文件的示例詳解

    開發(fā)SpringBoot項目時,使用配置文件配置項目相關(guān)屬性是必不可少的,所以下文為大家準備了使用Properties讀取配置文件的示例代碼,希望對大家有所幫助
    2023-06-06
  • springboot中poi使用操作方法

    springboot中poi使用操作方法

    在項目中,有很多對excel的操作,大都數(shù)時候我們都會使用poi工具類,本文將介紹poi的一些使用方法,感興趣的朋友跟隨小編一起看看吧
    2023-08-08

最新評論

获嘉县| 双流县| 池州市| 海门市| 合江县| 永福县| 汝州市| 吴桥县| 淳化县| 宁波市| 额尔古纳市| 滨海县| 循化| 罗平县| 高台县| 金湖县| 玉门市| 云霄县| 苍南县| 会泽县| 万山特区| 宜城市| 新化县| 岳普湖县| 麻城市| 连州市| 香港| 鄄城县| 保山市| 钦州市| 海伦市| 涡阳县| 伊川县| 法库县| 深泽县| 周至县| 琼结县| 县级市| 榕江县| 华容县| 乌拉特前旗|