限制编辑是一种控制文档或文件的访问权限的功能,它可以防止未经授权的用户对文档进行修改或编辑。通过启用编辑限制,您可以设定不同级别的权限,例如只允许查看、只允许评论或只允许特定用户进行编辑。本文将介绍如何使用 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()
解除 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()
解除编辑限制后,可对word文档进行正常的编辑及相关操作。
----本文完----