找回密码
 立即注册
首页 业界区 业界 图表控件Aspose.Diagram教程:使用 Java 读取 Visio 形 ...

图表控件Aspose.Diagram教程:使用 Java 读取 Visio 形状数据

裆趾针 8 小时前
1.png

在某些情况下,您可能需要从 Visio 图表中读取形状数据。当图表包含元数据时,这通常会很有帮助。您可以在不使用 Microsoft Visio 或 Office Interop 的情况下使用 Java 提取这些信息。它非常适合用于报表、数据检查或自动化工具。在本文中,我们将向您展示如何借助图表控件Aspose.Diagram,使用 Java 以清晰简单的方式读取形状数据。
Aspose.Diagram 试用版下载,请联系Aspose官方授权代理商慧都科技
加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。

Java Visio 库读取形状数据

在本文中,我们将使用Aspose.Diagram for Java从 Visio 文件中读取形状数据。该 API 提供对形状、页面和自定义属性的完全访问权限。它兼容 VSDX、VSD 和其他格式。
您可以在任何 Java 项目中使用此库。它易于设置,并支持大型图表和批处理。如果您的应用需要处理 Visio 文件,那么此 SDK 是一个很棒的工具。
请从发行版下载该库并将 JAR 添加到您的项目或通过Maven安装:
Aspose.Diagram 试用版下载,请联系Aspose官方授权代理商慧都科技
加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。
  1. <dependency>
  2.     <groupId>com.aspose</groupId>
  3.     aspose-diagram</artifactId>
  4.     <version>25.7</version>
  5. </dependency>
复制代码
如何在 Java 中读取 Visio 形状数据

按照以下步骤从 Visio 文件读取形状数据:

  • 使用该类加载文件Diagram。
  • 从图表中获取一页。
  • 循环遍历页面上的形状。
  • 打印形状 ID 和名称。
下面是一个 Java 代码片段,演示了如何在 Java 中读取 Visio 形状数据:
  1. // Load the Visio file
  2. Diagram diagram = new Diagram("Drawing1.vsdx");
  3. // get pages count
  4. System.out.println("Total Pages:" + diagram.getPages().getCount());
  5. // Access the first page
  6. Page page = diagram.getPages().get(0);
  7. // Iterate through shapes
  8. for (Shape shape : (Iterable<Shape>) page.getShapes()) {
  9.     System.out.println("Shape ID: " + shape.getID());
  10.     System.out.println("Name: " + shape.getName());
  11. }
复制代码
  1. Total Pages: 1
  2. Shape ID: 1
  3. Name: Square
  4. Shape ID: 2
  5. Name: Rectangle
  6. Shape ID: 3
  7. Name: Dynamic connector
复制代码
通过名称读取形状属性

您可以通过形状名称读取其属性。只需按照以下步骤操作:

  • 加载图表文件。
  • 访问页面。
  • 通过名称查找形状。
  • 用于Props读取属性。
下面是 Java 代码示例,演示了如何使用形状名称读取形状的属性:
  1. // Load the Visio file
  2. Diagram diagram = new Diagram("Drawing1.vsdx");
  3. // Access the first page
  4. Page page = diagram.getPages().get(0);
  5. // Iterate through shapes
  6. for (Shape shape : (Iterable<Shape>) page.getShapes()) {
  7.     // Read shape propert by name
  8.     if ("Process".equals(shape.getName())) {
  9.         for (Prop prop : (Iterable<Prop>) shape.getProps()) {
  10.             System.out.println("Property Name: " + prop.getLabel().getValue());
  11.             System.out.println("Value: " + prop.getValue().getVal());
  12.         }
  13.     }
  14. }
复制代码
读取 Java 中 Shape 的 InheritProps

您还可以按照以下步骤获取继承的形状属性:

  • 打开 Visio 文件。
  • 获取页面并循环浏览形状。
  • 用于InheritProps读取继承的值。
以下示例 Java 代码展示了如何在 Java 中读取 Visio 形状的 InheritProps:
  1. // Load the Visio file
  2. Diagram diagram = new Diagram("Drawing1.vsdx");
  3. // Access the first page
  4. Page page = diagram.getPages().get(0);
  5. // Iterate through shapes InheritProps
  6. for (Shape shape : (Iterable<Shape>) page.getShapes()) {
  7.     for (Prop prop : (Iterable<Prop>) shape.getInheritProps()) {
  8.         System.out.println("Inherited Name: " + prop.getLabel().getValue());
  9.         System.out.println("Value: " + prop.getValue().getVal());
  10.     }
  11. }
复制代码
结论

在本文中,您学习了如何使用 Aspose.Diagram 在 Java 中读取 Visio 形状数据。您了解了如何加载文件、提取形状属性以及读取继承的数据。借助这个强大的 API,您可以轻松构建处理 Visio 文件的 Java 应用。
Aspose.Diagram 试用版下载,请联系Aspose官方授权代理商慧都科技
加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册