Microsoft Visio 文件可以包含不同的页面、形状、图层和其他图表对象。您可以使用 Java 轻松创建、编辑或操作 Microsoft Visio 图表文件。同样,您可以保护或取消保护 Visio 文件或其形状以避免对数据进行任何更改。让我们通过以下主题了解更多详细信息:
- 保护或取消保护 Visio 图表文件和形状 - Java API 安装
- 使用 Java 以编程方式保护 Visio 图表文件免受更改
- 使用 Java 取消保护 Visio 图表文件
- 使用 Java 保护 Visio 形状免受更改
- 在 Java 中取消保护 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 图表文件:
- 使用 Diagram 类加载输入 Visio 文件
- 保护 Visio 文件的背景、形状、主形状和样式。
- 保存受保护的输出图表文件。
下面的代码显示了如何使用 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 图表:
- 加载受保护的输入 Visio 图表文件。
- 使用 DocumentSettings 类取消保护背景、形状、主形状和样式。
- 最后,保存未受保护的输出图表文件。
以下代码详细说明了如何使用 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 形状免受任何更改,步骤如下:
- 负载输入图。
- 按名称获取页面。
- 通过 ID 获取形状。
- 设置不同的形状保护。
- 保存受保护的输出 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 形状:
- 加载输入 Visio 图。
- 按名称访问页面。
- 通过 ID 获取形状。
- 使用 Bool 值取消保护 Visio 形状。
- 最后,保存输出 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 的许多其他功能。如有任何疑问,请随时通过 免费支持论坛 与我们联系。