限制编辑是一种控制文档或文件的访问权限的功能,它可以防止未经授权的用户对文档进行修改或编辑。通过启用编辑限制,您可以设定不同级别的权限,例如只允许查看、只允许评论或只允许特定用户进行编辑。本文将介绍如何使用 Spire.Doc for Python 在 Python 程序中限制对 Word 文档的编辑以及解除 Word 文档编辑限制。

  • 使用密码限制编辑Word 文档
  • 解除 Word 文档中的限制编辑

安装Spire.Doc for Python

本教程需要用到 Spire.Doc for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 VS Code 中。

pip install Spire.Doc

使用密码限制对整个 Word 文档的编辑

Word 文档中有四种编辑限制:不允许任何更改(只读)、修订、批注和填写窗体。Spire.Doc for Python 提供了 Document.Protect() 方法和 ProtectionType 枚举来对 Word 文档设置指定类型的编辑限制。

下表是 ProtectionType 枚举和对应编辑限制类型及说明:

枚举

编辑限制类型

说明

ProtectionType.AllowOnlyReading

不允许任何更改(只读)

只允许阅读文档

ProtectionType.AllowOnlyRevisions

修订

只允许修订文档

ProtectionType.AllowOnlyComments

批注

只允许添加评论

ProtectionType.AllowOnlyFormFields

填写窗体

只允许填写表单

ProtectionType.NoProtection

无编辑限制

  • 创建一个 Document 类对象。
  • 使用 Document.LoadFromFile() 方法加载 Word 文档。
  • 使用 Document.Protect(type:ProtectionType,password:str) 方法为文档设置指定的编辑限制。
  • 使用 Document.SaveToFile() 方法保存文档。
from spire.doc import *
from spire.doc.common import *

# 创建一个Document类对象
doc = Document()

# 加载一个Word文档
doc.LoadFromFile("示例.docx")

# 将编辑限制类型设置为只读(无更改)
doc.Protect(ProtectionType.AllowOnlyReading, "password")

# 将编辑限制类型设置为修订
# doc.Protect(ProtectionType.AllowOnlyRevisions, "password")

# 将编辑限制类型设置为批注
# doc.Protect(ProtectionType.AllowOnlyComments, "password")

# 将编辑限制类型设置为填写窗体
# doc.Protect(ProtectionType.AllowOnlyFormFields, "password")

# 保存文档
doc.SaveToFile("output/编辑限制.docx")
doc.Close()

Python 设置word编辑限制 或解除word编辑限制_Python

解除 Word 文档中的编辑限制

有时候收到word文件,被限制了修改,无法编辑,文件被限制死了怎么办?尤其是合同之类的,想在文件里做些标黄、批注、或者修订。Spire.Doc for python 提供Document.Protect() 方法,可以将编辑限制类型设置为NoProtection,就能够解除文档编辑限制。达到取消限制编辑的效果。具体步骤如下:

  • 创建一个 Document 类对象。
  • 使用 Document.LoadFromFile() 方法加载 Word 文档。
  • 使用 Document.Protect() 方法将限制类型设置为无,从而删除限制。
  • 使用 Document.SaveToFile() 方法保存文档。
from spire.doc import *
from spire.doc.common import *

# 创建一个Document类对象
doc = Document()

# 加载一个Word文档
doc.LoadFromFile("output/编辑限制.docx")

# 通过将限制类型设置为无限制来移除编辑限制
doc.Protect(ProtectionType.NoProtection)

# 保存文档
doc.SaveToFile("output/移除编辑限制.docx")
doc.Close()

Python 设置word编辑限制 或解除word编辑限制_Word_02

解除编辑限制后,可对word文档进行正常的编辑及相关操作。

----本文完----