特定のケースでは、Visio ダイアグラムからシェイプ データを読み取る必要がある場合があります。これは、ダイアグラムにメタデータが含まれているときに通常便利です。この情報は、Microsoft Visio や Office Interop を使用せずに Java で抽出できます。これは、レポート作成、データチェック、または自動化ツールに最適です。この投稿では、Java を使用してシェイプ データを明確かつ簡単に読み取る方法を示します。

Java Visio ライブラリで図形データを読み取る

この記事では、Aspose.Diagram for Javaを使用してVisioファイルから形状データを読み取ります。APIは形状、ページ、およびカスタムプロパティへの完全なアクセスを提供します。これはVSDX、VSD、およびその他の形式で動作します。

このライブラリは任意のJavaプロジェクトで使用できます。セットアップは簡単で、大規模な図やバッチ処理をサポートしています。アプリがVisioファイルを扱う必要がある場合、このSDKは素晴らしいツールです。

ライブラリを releases からダウンロードし、JAR をプロジェクトに追加するか、Maven を介してインストールしてください:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-diagram</artifactId>
    <version>25.7</version>
</dependency>

Visio シェイプ データを Java で読み取る方法

Visioファイルから形状データを読み込むには、次の手順に従ってください:

  1. Diagram クラスを使用してファイルをロードします。
  2. 図からページを取得します。
  3. ページ上の形状をループ処理します。
  4. 形状 ID と名前を印刷します。

こちらは、JavaでVisioのシェイプデータを読み取る方法を示すJavaコードのスニペットです:

// Visioファイルをロードしてください。
Diagram diagram = new Diagram("Drawing1.vsdx");

// get pages count
System.out.println("Total Pages:" + diagram.getPages().getCount());

// 最初のページにアクセスしてください。
Page page = diagram.getPages().get(0);

// 形状を繰り返す
for (Shape shape : (Iterable<Shape>) page.getShapes()) {
    System.out.println("Shape ID: " + shape.getID());
    System.out.println("Name: " + shape.getName());
}
Total Pages: 1
Shape ID: 1
Name: Square
Shape ID: 2
Name: Rectangle
Shape ID: 3
Name: Dynamic connector

名前で形状プロパティを読み取る

形のプロパティは、その名前から読み取ることができます。次の手順に従ってください:

  1. ダイアグラムファイルをロードしてください。
  2. Access a page.
  3. 形を名前で見つけてください。
  4. Propsを使用してプロパティを読み取ります。

ここに、名前を使用して形状のプロパティを読み取る方法を示すJavaコードの例があります:

// Visioファイルをロードしてください。
Diagram diagram = new Diagram("Drawing1.vsdx");

// 最初のページにアクセスしてください。
Page page = diagram.getPages().get(0);

// 形を繰り返す
for (Shape shape : (Iterable<Shape>) page.getShapes()) {
    // 形状のプロパティを名前で読む
    if ("Process".equals(shape.getName())) {
       for (Prop prop : (Iterable<Prop>) shape.getProps()) {
            System.out.println("Property Name: " + prop.getLabel().getValue());
            System.out.println("Value: " + prop.getValue().getVal());
        }
    }
}

ShapeのInheritPropsを読む Java

以下の手順に従うことで、継承されたシェイププロパティを取得することもできます:

  1. Visioファイルを開いてください。
  2. ページを取得し、シェイプをループ処理します。
  3. InheritProps を使用して、継承された値を読み取ります。

以下のサンプルJavaコードは、JavaでVisio図形のInheritPropsを読み取る方法を示しています。:

// Visioファイルを読み込んでください。
Diagram diagram = new Diagram("Drawing1.vsdx");

// 最初のページにアクセスする
Page page = diagram.getPages().get(0);

// 形状を反復処理する InheritProps
for (Shape shape : (Iterable<Shape>) page.getShapes()) {
   for (Prop prop : (Iterable<Prop>) shape.getInheritProps()) {
        System.out.println("Inherited Name: " + prop.getLabel().getValue());
        System.out.println("Value: " + prop.getValue().getVal());
    }
}

無料ライセンスを取得する

制限なしでAspose.Diagramを試してみたいですか?無料の一時ライセンスを取得して、ライブラリのすべての機能をテストできます。

Visio シェイプを開いて読み取る: 無料リソース

これらの無料リソースを探索して、より多くを学んでください:

結論

この記事では、Aspose.Diagramを使用してJavaでVisioシェイプデータを読み取る方法について学びました。ファイルの読み込み、シェイププロパティの抽出、継承データの読み取り方法を見ました。この強力なAPIを使うことで、Visioファイルを簡単に処理するJavaアプリを構築できます。

お手伝いが必要な場合は、無料サポートフォーラムを通じてお気軽にお問い合わせください。

See Also