在 Python 中删除 Visio 形状保护

Visio 是 Microsoft 强大的绘图软件,提供了多种用于创建形状和图表的工具。然而,有时这些形状带有限制编辑和修改的保护。在这篇博文中,我们将指导您完成使用 Python 在 Visio 中删除形状保护的过程,这是一个简化图表工作流程的巧妙技巧。因此,让我们深入研究并破解删除 Visio 形状保护的代码!

本文涵盖以下主题:

如何在 Visio 中删除形状保护

Visio 中的形状保护是一个很有价值的工具,它允许用户主动保护形状免受意外操作(例如删除、重新定位或修改)的影响。此功能通过有效防止关键元素发生意外更改,在保持设计的整体完整性方面发挥着至关重要的作用。

在Microsoft Office Visio中,我们可以通过以下步骤关闭形状保护:

  1. 在 Microsoft Office Visio 中打开图表。
  2. 选择要保护的一个或多个形状。
  3. 从开发人员菜单中选择保护。 (在 Visio 2007 中,从“格式”菜单中选择“保护”。)
  4. 在“保护”窗口中,取消选中任何文本框以解锁任何形状属性。
  5. 按“确定”。
如何在 Visio 中删除形状保护

如何在 Visio 中删除形状保护

注意:您可能需要通过进入“文件”>“选项”>“高级”>“常规”来启用“开发人员”选项卡。

用于删除 Visio 形状保护的 Python API

Aspose.Diagram 是一个用于处理 Microsoft Visio 文件的库。它提供了一组采用各种编程语言(包括Python)的API。我们将使用 Aspose.Diagram for Python via .NET 来删除 Visio 形状保护。它允许开发人员以编程方式创建、操作和转换 Visio 图表

下载软件包或在控制台中使用以下 pip 命令从 PyPI 安装 API:

pip install aspose-diagram-python 

在 Python 中删除 Visio 形状保护

我们可以按照以下步骤使用 Python 以编程方式轻松删除 Visio 形状保护:

  1. 使用 Diagram 类加载 Visio 图表文件。
  2. 通过索引获取要保护的页面和形状。
  3. 将所需的 Protection 类属性指定为 BOOL.False。
  4. 使用 save() 方法保存文件。

以下示例代码演示如何在 Python 中删除 Visio 形状保护。

# 此代码示例演示了如何在 Python 中删除 Visio 图表的保护。
import aspose.diagram
from aspose.diagram import *

# 负载图
diagram = Diagram("D:\\Files\\ProtectAndUnprotect.vsd");

# 按名称获取页面
page = diagram.pages[0]

# 通过ID获取形状
shape = page.shapes[1]

# 移除保护
shape.protection.lock_aspect.value = BOOL.FALSE
shape.protection.lock_begin.value = BOOL.FALSE
shape.protection.lock_calc_wh.value = BOOL.FALSE
shape.protection.lock_crop.value = BOOL.FALSE
shape.protection.lock_cust_prop.value = BOOL.FALSE
shape.protection.lock_delete.value = BOOL.FALSE
shape.protection.lock_end.value = BOOL.FALSE
shape.protection.lock_format.value = BOOL.FALSE
shape.protection.lock_from_group_format.value = BOOL.FALSE
shape.protection.lock_group.value = BOOL.FALSE
shape.protection.lock_height.value = BOOL.FALSE
shape.protection.lock_move_x.value = BOOL.FALSE
shape.protection.lock_move_y.value = BOOL.FALSE
shape.protection.lock_rotate.value = BOOL.FALSE
shape.protection.lock_select.value = BOOL.FALSE
shape.protection.lock_text_edit.value = BOOL.FALSE
shape.protection.lock_theme_colors.value = BOOL.FALSE
shape.protection.lock_theme_effects.value = BOOL.FALSE
shape.protection.lock_vtx_edit.value = BOOL.FALSE
shape.protection.lock_width.value = BOOL.FALSE

# 保存未受保护的输出图文件
diagram.save("D:\\Files\\RemoveVisioDiagramProtection.vdx", SaveFileFormat.VDX);

在 Python 中保护 Visio 形状

Visio 形状保护可能包括防止选择、调整大小、旋转甚至修改形状的属性。我们可以按照前面提到的步骤来保护 Visio 图表免受不必要的更改。但是,我们只需在步骤 #3 将 Protection 类属性设置为 BOOL.True 即可。

以下代码示例演示如何在 Python 中保护 Visio 图表。

# 此代码示例演示了如何在 Python 中保护 Visio 图表。
import aspose.diagram
from aspose.diagram import *

# 负载图
diagram = Diagram("D:\\Files\\ProtectAndUnprotect.vsd");

# 按名称获取页面
page = diagram.pages[0]

# 通过ID获取形状
shape = page.shapes[1]

# 保护 Visio 文件的背景、形状、主形状和样式
shape.protection.lock_aspect.value = BOOL.TRUE;

# 保存受保护的输出图文件
diagram.save("D:\\Files\\VisioDiagramProtection_Out.vdx", SaveFileFormat.VDX);

获取免费的 API 许可证

您可以获得免费的临时许可证,以便在没有评估限制的情况下使用 API。

Visio 形状保护 – 学习资源

除了删除 Visio 图表保护之外,您还可以了解有关创建、操作和转换 Visio 图表的详细信息,并使用以下资源探索该库的各种其他功能:

结论

在本文中,我们学习了如何在 Python 中以编程方式删除 Visio 形状保护。处理需要修改的复杂图表时,删除 Visio 形状保护会很有帮助。通过 .NET API 利用 Aspose.Diagram for Python,您可以轻松删除形状保护,使您的图表绘制任务更加高效并实现更快的更新。现在,您可以不受限制地自由编辑、调整大小和修改受保护的形状。因此,继续尝试一下,并探索该库的各种其他有用功能。如有任何疑问,请通过我们的免费支持论坛与我们联系。

也可以看看