保护取消保护 Visio 图表

Microsoft Visio 文件可以包含不同的页面、形状、图层和其他图表对象。您可以使用 Java 轻松创建、编辑或操作 Microsoft Visio 图表文件。同样,您可以保护或取消保护 Visio 文件或其形状以避免对数据进行任何更改。让我们通过以下主题了解更多详细信息:

保护或取消保护 Visio 图表文件和形状 - Java API 安装

Aspose.Diagram for Java API 允许您使用 Microsoft Visio 相关格式,如 VSDX、VSDM、VSD 和其他几种文件格式。您无需安装任何第三方应用程序即可使用这些文件。此外,安装 API 很简单,因为您可以从 Downloads 部分快速下载其 JAR 文件,或者使用以下详细信息从 Aspose Repository 安装它:

存储库:

 <repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>http://repository.aspose.com/repo/</url>
    </repository>
</repositories>

依赖:

 <dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-diagram</artifactId>
        <version>21.2</version>
        <classifier>jdk16</classifier>
    </dependency>
</dependencies>

使用 Java 保护 Visio 图表文件免受更改

Microsoft Visio 文件(如 VSD、VSDX、VSTX 或 VDW)可以包含有关图表、流程、流程图等的大量信息。 Visio 图表文件可能包含背景、母版、形状、样式等,您可以保护这些内容以避免任何更改。请按照以下步骤保护 Visio 图表文件:

  1. 使用 Diagram 类加载输入 Visio 文件
  2. 保护 Visio 文件的背景、形状、主形状和样式。
  3. 保存受保护的输出图表文件。

下面的代码显示了如何使用 Java 保护 Visio 图表文件:

// 加载输入 Visio 图表文件
Diagram diagram = new Diagram(dataDir + "ProtectAndUnprotect.vsd");

// 保护 Visio 文件的背景、形状、主控形状和样式
diagram.getDocumentSettings().setProtectBkgnds(BOOL.TRUE);
diagram.getDocumentSettings().setProtectMasters(BOOL.TRUE);
diagram.getDocumentSettings().setProtectShapes(BOOL.TRUE);
diagram.getDocumentSettings().setProtectStyles(BOOL.TRUE);

// 保存受保护的输出图表文件
diagram.save(dataDir + "VisioDiagramProtection_Out.vdx", SaveFileFormat.VDX);

使用 Java 取消保护 Visio 图表文件

有时您可能需要更新受保护的图表文件。首先,您需要取消保护此类文件,然后进一步处理它们。以下步骤详细说明了如何取消保护 Visio 图表:

  1. 加载受保护的输入 Visio 图表文件。
  2. 使用 DocumentSettings 类取消保护背景、形状、主形状和样式。
  3. 最后,保存未受保护的输出图表文件。

以下代码详细说明了如何使用 Java 取消对 Visio 图表文件的保护:

// 加载受保护的输入 Visio 图表文件
Diagram diagram = new Diagram(dataDir + "ProtectAndUnprotect.vsd");

// 取消保护背景、形状、主形状和样式
diagram.getDocumentSettings().setProtectBkgnds(BOOL.FALSE);
diagram.getDocumentSettings().setProtectMasters(BOOL.FALSE);
diagram.getDocumentSettings().setProtectShapes(BOOL.FALSE);
diagram.getDocumentSettings().setProtectStyles(BOOL.FALSE);

// 保存未受保护的输出图表文件
diagram.save(dataDir + "VisioDiagram_Unprotected.vdx", SaveFileFormat.VDX);

使用 Java 保护 Visio 形状免受更改

Visio 图表由不同的形状组成。组合成图表或绘图。您可以移动、旋转、删除或修改不同的形状以达到效果。此外,您还可以通过限制形状的不同属性来避免对 Visio 形状进行任何更改。让我们继续学习如何保护 Visio 形状免受任何更改,步骤如下:

  1. 负载输入图。
  2. 按名称获取页面。
  3. 通过 ID 获取形状。
  4. 设置不同的形状保护。
  5. 保存受保护的输出 Visio 图表。

下面的代码片段解释了如何保护 Visio 形状免受 Java 更改:

// 负载输入图
Diagram diagram = new Diagram(dataDir + "ProtectAndUnprotect.vsd");

// 按名称获取页面
Page page = diagram.getPages().getPage("Flow 1");

// 通过 ID 获取形状
Shape shape = page.getShapes().getShape(1);

// 设置保护
shape.getProtection().getLockAspect().setValue(BOOL.TRUE);
shape.getProtection().getLockCrop().setValue(BOOL.TRUE);
shape.getProtection().getLockCustProp().setValue(BOOL.TRUE);
shape.getProtection().getLockDelete().setValue(BOOL.TRUE);
shape.getProtection().getLockHeight().setValue(BOOL.TRUE);
shape.getProtection().getLockMoveX().setValue(BOOL.TRUE);
shape.getProtection().getLockMoveY().setValue(BOOL.TRUE);
shape.getProtection().getLockRotate().setValue(BOOL.TRUE);
shape.getProtection().getLockTextEdit().setValue(BOOL.TRUE);
        
// 保存受保护的输出 visio 图
diagram.save(dataDir + "VisioShapeProtection_Out.vdx", SaveFileFormat.VDX);

使用 Java 取消保护 Visio 形状

您可能需要取消保护 Visio 图表形状以更改或更新其内容。以下步骤显示如何取消保护 Visio 形状:

  1. 加载输入 Visio 图。
  2. 按名称访问页面。
  3. 通过 ID 获取形状。
  4. 使用 Bool 值取消保护 Visio 形状。
  5. 最后,保存输出 Visio 图。

下面的代码显示了如何使用 Java 取消对 Visio 图表形状的保护:

// 加载输入 Visio 图
Diagram diagram = new Diagram(dataDir + "ProtectAndUnprotect.vsd");

// 按名称获取页面
Page page = diagram.getPages().getPage("Flow 1");

// 通过 ID 获取形状
Shape shape = page.getShapes().getShape(1);

// 取消保护 Visio 形状
shape.getProtection().getLockAspect().setValue(BOOL.FALSE);
shape.getProtection().getLockCrop().setValue(BOOL.FALSE);
shape.getProtection().getLockCustProp().setValue(BOOL.FALSE);
shape.getProtection().getLockDelete().setValue(BOOL.FALSE);
shape.getProtection().getLockHeight().setValue(BOOL.FALSE);
shape.getProtection().getLockMoveX().setValue(BOOL.FALSE);
shape.getProtection().getLockMoveY().setValue(BOOL.FALSE);
shape.getProtection().getLockRotate().setValue(BOOL.FALSE);
shape.getProtection().getLockTextEdit().setValue(BOOL.FALSE);
        
// 使用不受保护的形状保存输出 Visio 图表
diagram.save(dataDir + "VisioShape_unprotect.vdx", SaveFileFormat.VDX);

结论

在本文中,您了解了如何保护或取消保护 Visio 图表文件。同样,您已经阅读了如何使用 Java 语言保护和取消保护形状免受更改的影响。此外,您可以通过访问 文档 找到 Aspose.Diagram for Java API 的许多其他功能。如有任何疑问,请随时通过 免费支持论坛 与我们联系。

也可以看看