Python進行添加,讀取和刪除Word文檔屬性
在Python中處理Word文檔時,對文檔屬性進行操作是一項重要的任務。文檔屬性主要分為內(nèi)置屬性(如標題、作者等)和自定義屬性(用戶根據(jù)自身需求定義的屬性)。合理地管理這些屬性,能夠提升文檔管理效率、優(yōu)化信息檢索功能,并確保文檔數(shù)據(jù)的準確性與安全性。本文將介紹如何使用Python實現(xiàn)對Word文檔屬性的添加、讀取和刪除操作,包括內(nèi)置文檔屬性和自定義文檔屬性。
本文所使用的方法需要用到免費的Free Spire.Doc for Python,PyPI:pip install spire.doc.free
。
用Python添加文檔屬性到Word文檔
我們可以使用庫中的類和方法直接從文件或流載入Word文檔進行處理。添加內(nèi)置屬性時,利用Document.BuiltinDocumentProperties屬性訪問并設置相應值;添加自定義屬性則借助CustomDocumentProperties.Add()方法。具體步驟如下:
- 導入所需模塊:Document,String,Int32,DateTime,Boolean。
- 創(chuàng)建`Document 類的實例。
- 使用Document.LoadFromFile()方法加載Word文檔。
- 對內(nèi)置屬性,通過Document.BuiltinDocumentProperties屬性獲取并設置相關屬性值。
- 對自定義屬性,通過Document.CustomDocumentProperties屬性獲取,再使用Add()方法添加不同類型的自定義屬性。
- 使用Document.SaveToFile()方法保存修改后的文檔。
代碼示例
from spire.doc import Document, String, Int32, DateTime, Boolean # 創(chuàng)建Document對象 doc = Document() # 加載Word文檔 doc.LoadFromFile("Sample.docx") # 添加內(nèi)置屬性 builtin_prop = doc.BuiltinDocumentProperties builtin_prop.Title = "Python文檔屬性操作" builtin_prop.Author = "代碼開發(fā)者" builtin_prop.Category = "技術教程" builtin_prop.Keywords = "Python,Word,屬性操作" # 添加自定義屬性 custom_prop = doc.CustomDocumentProperties custom_prop.Add("項目ID", String("PRJ001")) custom_prop.Add("完成進度", Int32(80)) custom_prop.Add("截止日期", DateTime(2024, 12, 31, 0, 0, 0, 0)) custom_prop.Add("是否重要", Boolean(True)) # 保存文檔 doc.SaveToFile("output/添加屬性后的文檔.docx") doc.Close()
結(jié)果
用Python讀取Word文檔的文檔屬性
通過BuiltinDocumentProperties類的屬性,我們也可以實現(xiàn)讀取內(nèi)置屬性,而讀取自定義屬性則依賴CustomDocumentProperty.Name和CustomDocumentProperty.Value屬性(或CustomDocumentProperty.ToString()方法讀取為字符串)。具體操作步驟如下:
- 導入所需模塊:Document。
- 創(chuàng)建Document類的實例。
- 使用Document.LoadFromFile()方法加載已添加屬性的Word文檔。
- 對于內(nèi)置屬性,通過Document.BuiltinDocumentProperties屬性獲取并讀取相關屬性值。
- 對于自定義屬性,通過Document.CustomDocumentProperties屬性獲取,然后遍歷獲取每個自定義屬性的名稱和值。
- 輸出或進一步處理讀取到的屬性值。
代碼示例
from spire.doc import Document # 創(chuàng)建Document對象 doc = Document() # 加載Word文檔 doc.LoadFromFile("output/添加屬性后的文檔.docx") # 讀取內(nèi)置屬性 builtin_prop = doc.BuiltinDocumentProperties print("內(nèi)置屬性:") print(f"標題: {builtin_prop.Title}") print(f"作者: {builtin_prop.Author}") print(f"類別: {builtin_prop.Category}") print(f"關鍵詞: {builtin_prop.Keywords}") # 讀取自定義屬性 custom_prop = doc.CustomDocumentProperties print("\n自定義屬性:") for i in range(custom_prop.Count): prop_name = custom_prop.get_Item(i).Name prop_value = custom_prop.get_Item(i).ToString() print(f"{prop_name}: {prop_value}") doc.Close()
結(jié)果
用Python移除Word文檔的文檔屬性
刪除內(nèi)置屬性時,將其值設為None即可;刪除自定義屬性則使用DocumentProperties.Remove()方法。具體操作步驟如下:
- 導入所需模塊:Document。
- 創(chuàng)建Document類的實例。
- 使用Document.LoadFromFile()方法加載需要刪除屬性的Word文檔。
- 對于內(nèi)置屬性,通過Document.BuiltinDocumentProperties屬性獲取并將需要刪除的屬性值設為None。
- 對于自定義屬性,通過Document.CustomDocumentProperties屬性獲取,然后遍歷并使用Remove()方法刪除每個自定義屬性。
- 使用Document.SaveToFile()方法保存修改后的文檔。
代碼示例
from spire.doc import Document # 創(chuàng)建Document對象 doc = Document() # 加載Word文檔 doc.LoadFromFile("output/添加屬性后的文檔.docx") # 刪除內(nèi)置屬性 builtin_prop = doc.BuiltinDocumentProperties builtin_prop.Title = None builtin_prop.Author = None builtin_prop.Category = None builtin_prop.Keywords = None # 刪除自定義屬性 custom_prop = doc.CustomDocumentProperties for i in range(custom_prop.Count - 1, -1, -1): custom_prop.Remove(custom_prop[i].Name) # 保存文檔 doc.SaveToFile("output/刪除屬性后的文檔.docx") doc.Close()
以上就是Python進行添加,讀取和刪除Word文檔屬性的詳細內(nèi)容,更多關于Python Word文檔屬性的資料請關注腳本之家其它相關文章!
相關文章
python爬蟲selenium和phantomJs使用方法解析
這篇文章主要介紹了python爬蟲selenium和phantomJs使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08Python 3.6 中使用pdfminer解析pdf文件的實現(xiàn)
這篇文章主要介紹了Python 3.6 中使用pdfminer解析pdf文件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09django實現(xiàn)將修改好的新模型寫入數(shù)據(jù)庫
這篇文章主要介紹了django實現(xiàn)將修改好的新模型寫入數(shù)據(jù)庫,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03Python操作excel的方法總結(jié)(xlrd、xlwt、openpyxl)
這篇文章主要給大家介紹了關于Python操作excel的一些方法,其中包括xlrd、xlwt、openpyxl的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-09-09Python利用matplotlib實現(xiàn)繪制密度散點圖
這篇文章主要介紹了如何基于Python語言的matplotlib模塊,對Excel表格文件中的指定數(shù)據(jù)加以密度散點圖繪制的方法,有需要的小伙伴可以參考下2024-04-04python實現(xiàn)代碼行數(shù)統(tǒng)計示例分享
這篇文章主要介紹了python實現(xiàn)代碼行數(shù)統(tǒng)計的示例,需要的朋友可以參考下2014-02-02