Python进行添加,读取和删除Word文档属性

 更新时间:2025年02月21日 08:34:46   作者:Eiceblue  
在Python中处理Word文档时,对文档属性进行操作是一项重要的任务,下面我们来看看如何使用Python实现对Word文档属性的添加,读取和删除操作吧

在Python中处理Word文档时,对文档属性进行操作是一项重要的任务。文档属性主要分为内置属性(如标题、作者等)和自定义属性(用户根据自身需求定义的属性)。合理地管理这些属性,能够提升文档管理效率、优化信息检索功能,并确保文档数据的准确性与安全性。本文将介绍如何使用Python实现对Word文档属性的添加、读取和删除操作,包括内置文档属性和自定义文档属性。

本文所使用的方法需要用到免费的Free Spire.Doc for Python,PyPI:pip install spire.doc.free

用Python添加文档属性到Word文档

我们可以使用库中的类和方法直接从文件或流载入Word文档进行处理。添加内置属性时,利用Document.BuiltinDocumentProperties属性访问并设置相应值;添加自定义属性则借助CustomDocumentProperties.Add()方法。具体步骤如下:

  • 导入所需模块:Document,String,Int32,DateTime,Boolean。
  • 创建`Document 类的实例。
  • 使用Document.LoadFromFile()方法加载Word文档。
  • 对内置属性,通过Document.BuiltinDocumentProperties属性获取并设置相关属性值。
  • 对自定义属性,通过Document.CustomDocumentProperties属性获取,再使用Add()方法添加不同类型的自定义属性。
  • 使用Document.SaveToFile()方法保存修改后的文档。

代码示例

from spire.doc import Document, String, Int32, DateTime, Boolean

# 创建Document对象
doc = Document()
# 加载Word文档
doc.LoadFromFile("Sample.docx")

# 添加内置属性
builtin_prop = doc.BuiltinDocumentProperties
builtin_prop.Title = "Python文档属性操作"
builtin_prop.Author = "代码开发者"
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()

结果

用Python读取Word文档的文档属性

通过BuiltinDocumentProperties类的属性,我们也可以实现读取内置属性,而读取自定义属性则依赖CustomDocumentProperty.Name和CustomDocumentProperty.Value属性(或CustomDocumentProperty.ToString()方法读取为字符串)。具体操作步骤如下:

  • 导入所需模块:Document。
  • 创建Document类的实例。
  • 使用Document.LoadFromFile()方法加载已添加属性的Word文档。
  • 对于内置属性,通过Document.BuiltinDocumentProperties属性获取并读取相关属性值。
  • 对于自定义属性,通过Document.CustomDocumentProperties属性获取,然后遍历获取每个自定义属性的名称和值。
  • 输出或进一步处理读取到的属性值。

代码示例

from spire.doc import Document

# 创建Document对象
doc = Document()
# 加载Word文档
doc.LoadFromFile("output/添加属性后的文档.docx")

# 读取内置属性
builtin_prop = doc.BuiltinDocumentProperties
print("内置属性:")
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()

结果

用Python移除Word文档的文档属性

删除内置属性时,将其值设为None即可;删除自定义属性则使用DocumentProperties.Remove()方法。具体操作步骤如下:

  • 导入所需模块:Document。
  • 创建Document类的实例。
  • 使用Document.LoadFromFile()方法加载需要删除属性的Word文档。
  • 对于内置属性,通过Document.BuiltinDocumentProperties属性获取并将需要删除的属性值设为None。
  • 对于自定义属性,通过Document.CustomDocumentProperties属性获取,然后遍历并使用Remove()方法删除每个自定义属性。
  • 使用Document.SaveToFile()方法保存修改后的文档。

代码示例

from spire.doc import Document

# 创建Document对象
doc = Document()
# 加载Word文档
doc.LoadFromFile("output/添加属性后的文档.docx")

# 删除内置属性
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文档属性的详细内容,更多关于Python Word文档属性的资料请关注脚本之家其它相关文章!

相关文章

  • Python3+selenium实现cookie免密登录的示例代码

    Python3+selenium实现cookie免密登录的示例代码

    这篇文章主要介绍了Python3+selenium实现cookie免密登录的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 关于matlab图像滤波详解(二维傅里叶滤波)

    关于matlab图像滤波详解(二维傅里叶滤波)

    这篇文章主要介绍了关于matlab图像滤波详解(二维傅里叶滤波),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • python错误提示:Errno 2] No such file or directory的解决方法

    python错误提示:Errno 2] No such file or directory的解决方法

    我相信很多人在学习Python的时候,特别是在open文件的时候总还碰到,还报错IOError:[Errno 2]没有这样的文件或目录:'E://aaa.txt',这篇文章主要给大家介绍了关于python错误提示:Errno 2] No such file or directory的解决方法,需要的朋友可以参考下
    2022-02-02
  • 正则表达式中单个字符的匹配方法教程

    正则表达式中单个字符的匹配方法教程

    正则表达式是用于匹配字符串模式的一种强大工具,它使用特定的语法来描述字符串的特征,如单个字符、字符集、重复次数等,这篇文章主要介绍了正则表达式中单个字符匹配的相关资料,需要的朋友可以参考下
    2025-12-12
  • 使用Python实现Word文档的深度克隆的完整代码

    使用Python实现Word文档的深度克隆的完整代码

    在日常办公场景中,我们经常需要对 Word 文档进行内容提取、样式复制或格式转换,本文将详细介绍如何使用 python-docx 库实现 Word 文档的深度克隆功能,包括段落样式、表格格式、分页符等元素的完整复制,需要的朋友可以参考下
    2025-05-05
  • 独立进程使用django模型及django.setup()使用

    独立进程使用django模型及django.setup()使用

    这篇文章主要介绍了独立进程使用django模型(django.setup()使用),它提供了一种简单且高效的方式来利用Django强大的功能,并使你的代码更易于维护和扩展,需要的朋友可以参考下
    2023-07-07
  • python 实现朴素贝叶斯算法的示例

    python 实现朴素贝叶斯算法的示例

    这篇文章主要介绍了python实现朴素贝叶斯算法的示例,帮助大家更好的理解和学习python 机器学习算法,感兴趣的朋友可以了解下
    2020-09-09
  • 利用Python轻松实现视频转GIF动图

    利用Python轻松实现视频转GIF动图

    在看视频的时候觉得某段非常有意思想弄成动图,但是无从下手!本文就将介绍如何利用Python搞定这一需求,感兴趣的小伙伴可以学习一下
    2022-01-01
  • Python2与Python3的区别实例总结

    Python2与Python3的区别实例总结

    这篇文章主要介绍了Python2与Python3的区别,结合实例形式总结分析了Python2与Python3打印输出、编码、数值运算、异常处理等使用区别,需要的朋友可以参考下
    2019-04-04
  • cookies应对python反爬虫知识点详解

    cookies应对python反爬虫知识点详解

    在本篇文章里小编给大家整理关于cookies应对python反爬虫知识点详解,有兴趣的朋友们可以学习下。
    2020-11-11

最新评论