数字签名作为一层重要的安全保护,能够确保 Excel 文件在签署后未被修改,并且能够验证文件的来源。然而,在某些情况下,文档管理人员可能需要检测并移除这些数字签名,例如需要对文档进行合并、更新等操作,或需要在不支持数字签名的系统中操作文件。本文将演示如何使用 Spire.XLS for Python 通过 Python 代码检测 Excel 文件是否包含数字签名,以及移除 Excel 文件中的数字签名,为批量处理包含数字签名的 Excel 文件提供简单高效的解决方案。
安装 Spire.XLS for Python
本方案需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它轻松安装到 Windows 中。
pip install Spire.XLS
如果您不清楚如何安装,请参考:如何在 Windows 中安装 Spire.XLS for Python
检测 Excel 文件中是否存在数字签名
Spire.XLS for Python 提供了 Workbook 类来处理 Excel 文件,并可以通过 Workbook.IsDigitallySigned 属性检查文件是否包含数字签名。开发者可以通过该属性返回的布尔值来判断 Excel 文件是否已签名。
检测 Excel 文件是否包含数字签名的具体步骤如下:
- 创建 Workbook 类的实例。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 通过 Workbook.IsDigitallySigned 属性的值判断 Excel 工作簿是否带有数字签名,输出结果。
- Python
Python
from spire.xls import *
# 创建Workbook的实例
workbook = Workbook()
# 加载一个Excel文件
workbook.LoadFromFile("示例.xlsx")
# 检查工作簿是否被数字签名
if not workbook.IsDigitallySigned:
print("该工作簿没有数字签名。")
else:
print("该工作簿已被数字签名。")
从 Excel 文件中移除数字签名
开发者可以使用 Workbook.RemoveAllDigitalSignatures() 方法轻松删除 Excel 工作簿中的所有数字签名。具体步骤如下:
- 创建 Workbook 类的实例。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 使用 Workbook.RemoveAllDigitalSignatures() 方法移除工作簿中的所有数字签名。
- 使用 Workbook.SaveToFile() 方法保存工作簿。
- Python
from spire.xls import *
# 创建Workbook的实例
workbook = Workbook()
# 加载一个Excel文件
workbook.LoadFromFile("示例.xlsx")
# 移除数字签名
workbook.RemoveAllDigitalSignatures()
# 保存文档
workbook.SaveToFile("output/移除Excel数字签名.xlsx", FileFormat.Version2016)
workbook.Dispose()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。