特定のケースでは、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ファイルから形状データを読み込むには、次の手順に従ってください:
Diagram
クラスを使用してファイルをロードします。- 図からページを取得します。
- ページ上の形状をループ処理します。
- 形状 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
名前で形状プロパティを読み取る
形のプロパティは、その名前から読み取ることができます。次の手順に従ってください:
- ダイアグラムファイルをロードしてください。
- Access a page.
- 形を名前で見つけてください。
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
以下の手順に従うことで、継承されたシェイププロパティを取得することもできます:
- Visioファイルを開いてください。
- ページを取得し、シェイプをループ処理します。
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アプリを構築できます。
お手伝いが必要な場合は、無料サポートフォーラムを通じてお気軽にお問い合わせください。