在Word文档管理中,文档属性包含与文档有关的关键信息,如标题、作者、创建日期等,是进行文档管理的重要工具。这些属性不仅有助于我们组织和分类文件,提高工作效率,还便于在海量数据中进行快速检索与归档。因此,能够自动化地设置、读取及删除这些文档属性信息,对于提升文档处理的效率与精确度尤为重要。Python为我们提供了便捷的手段来实现对Word文档属性的高效管理。本文将展示如何利用Python代码来灵活操控Word文档的属性信息,从而满足个性化与批量化文档处理的需求。

  • 用Python设置Word文档内置属性
  • 用Python读取Word文档内置属性
  • 用Python删除Word文档内置属性

本文所使用的方法需要用到Spire.Doc for Python,PyPI:pip install Spire.Doc

用Python设置Word文档内置属性

我们可以使用库中提供的 Document.BuilinDocumentProperties 属性来访问文档的内置文档属性,并通过 BuilinDocumentProperties 下的各属性来对文档属性进行设置。以下是操作步骤:

  1. 导入所需模块。
  2. 创建 Document 类实例,并使用 Document.LoadFromFile() 方法载入Word文档。
  3. 利用 Document.BuilinDocumentProperties 属性获取文档的内置文档属性。
  4. 利用 BuilinDocumentProperties 下的各属性设置文档内置属性信息。
  5. 使用 Document.SaveToFile() 方法保存Word文档。
  6. 释放资源。

代码示例:

from spire.doc import *
from spire.doc.common import *

# 创建Document类实例
doc = Document()

# 载入Word文档
doc.LoadFromFile("Sample.docx")

# 设置文档预设属性
builtinProperty = doc.BuiltinDocumentProperties
builtinProperty.Title = "人工智能革命"
builtinProperty.Subject = "人工智能中神经网络的高级应用和未来方向"
builtinProperty.Author = "西蒙"
builtinProperty.Manager = "艾莉"
builtinProperty.Company = "AI研究工作室"
builtinProperty.Category = "研究"
builtinProperty.Keywords = "机器学习;神经网络;人工智能"
builtinProperty.Comments = "本文介绍的是人工智能的发展现状。"
builtinProperty.HyperLinkBase = "www.e-iceblue.com"

# Save the document
doc.SaveToFile("output/添加内置文档属性到Word文档.docx", FileFormat.Docx2019)
doc.Close()

结果文档:
在这里插入图片描述

用Python读取Word文档内置属性

除了添加属性值外,BuiltinDocumentProperties 类下的属性还使开发者能够读取Word文档的现有内置属性。这支持了多种功能,如文档搜索、信息提取及文档分析。
使用Python读取文档内置属性的具体步骤如下:

  1. 导入所需模块。
  2. 创建一个Document类的对象,并使用 Document.LoadFromFile() 方法加载一个Word文档。
  3. 通过 Document.BuiltinDocumentProperties 属性获取文档的内置属性。
  4. 利用 BuiltinDocumentProperties 类下的各属性获取其值。
  5. 输出文档的内置属性信息。

代码示例:

from spire.doc import *
from spire.doc.common import *

# 创建Document类实例
doc = Document()

# 载入Word文档
doc.LoadFromFile("output/添加内置文档属性到Word文档.docx")

# 获取文档预设属性
builtinProperties = doc.BuiltinDocumentProperties

# 获取文档预设属性信息
properties = [
    "作者:" + builtinProperties.Author,
    "单位:" + builtinProperties.Company,
    "标题:" + builtinProperties.Title,
    "主题:" + builtinProperties.Subject,
    "关键词:" + builtinProperties.Keywords,
    "类别:" + builtinProperties.Category,
    "主管:" + builtinProperties.Manager,
    "备注:" + builtinProperties.Comments,
    "超链接基础:" + builtinProperties.HyperLinkBase,
    "字数:" + str(builtinProperties.WordCount),
    "页数:" + str(builtinProperties.PageCount),
]

# 输出预设属性信息
for i in range(0, len(properties)):
    print(properties[i])

doc.Close()

结果文档:
在这里插入图片描述

用Python删除Word文档内置属性

如果需要在分享文档时保护隐私,移除敏感信息,我们可以通过将文档属性设置为空值来移除文档属性信息。以下是操作步骤:

  1. 导入所需模块。
  2. 创建一个 Document 类的实例,并使用Document.LoadFromFile() 方法加载一个Word文档。
  3. 通过 Document.BuiltinDocumentProperties 属性获取文档的内置属性。
  4. 将某些属性的值设置为None以移除这些属性,利用 BuiltinDocumentProperties 类下的相应属性进行操作。
  5. 使用 Document.SaveToFile() 方法保存文档。
  6. 释放资源。

代码示例:

from spire.doc import *
from spire.doc.common import *

# 创建Document类实例
doc = Document()

# 载入Word文档
doc.LoadFromFile("output/添加内置文档属性到Word文档.docx")

# 获取文档的预设属性
builtinProperties = doc.BuiltinDocumentProperties

# 通过将属性设置为空来移除预设属性
builtinProperties.Author = None
builtinProperties.Company = None
builtinProperties.Title = None
builtinProperties.Subject = None
builtinProperties.Keywords = None
builtinProperties.Comments = None
builtinProperties.Category = None
builtinProperties.Manager = None

# 保存文档
doc.SaveToFile("output/移除Word文档预设属性.docx", FileFormat.Docx)
doc.Close()

本文演示了如何使用Python对文档文档内置文档属性进行设置、读取以及删除。

更多Word文档操作技巧请前往Spire.Doc for Python教程查看。

申请免费许可


大丸子
12 声望3 粉丝