W niektórych przypadkach może być konieczne odczytanie danych kształtów z diagramów Visio. Zwykle jest to przydatne, gdy diagramy zawierają metadane. Można wyodrębnić te informacje w Javie bez użycia Microsoft Visio lub Office Interop. Jest to idealne do raportowania, kontroli danych lub narzędzi automatyzacyjnych. W tym poście pokażemy, jak odczytać dane kształtów za pomocą Java w jasny i prosty sposób.

Java Visio Library do odczytu danych kształtów

W tym artykule użyjemy Aspose.Diagram for Java do odczytu danych kształtów z plików Visio. API zapewnia pełny dostęp do kształtów, stron i właściwości niestandardowych. Działa z formatami VSDX, VSD i innymi.

Możesz użyć tej biblioteki w dowolnym projekcie Java. Jest łatwa do skonfigurowania i obsługuje duże diagramy oraz przetwarzanie wsadowe. Jeśli Twoja aplikacja musi działać z plikami Visio, to SDK jest świetnym narzędziem.

Proszę pobrać bibliotekę z releases i dodać JAR do swojego projektu lub zainstalować za pomocą Maven:

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

Jak odczytać dane kształtów Visio w Javie

Postępuj według tych kroków, aby odczytać dane kształtu z pliku Visio:

  1. Załaduj plik, używając klasy Diagram.
  2. Get a page from the diagram.
  3. Przejdź przez kształty na stronie.
  4. Drukuj identyfikator kształtu i nazwę.

Oto fragment kodu Java, który pokazuje, jak odczytać dane kształtu Visio w Javie:

// Załaduj plik Visio
Diagram diagram = new Diagram("Drawing1.vsdx");

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

// Uzyskaj dostęp do pierwszej strony
Page page = diagram.getPages().get(0);

// Iteruj przez kształty
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

Odczytaj właściwość kształtu według nazwy

Możesz odczytać właściwości kształtu po jego nazwie. Wystarczy wykonać te kroki:

  1. Załaduj plik diagramu.
  2. Access a page.
  3. Znajdź kształt po nazwie.
  4. Użyj Props, aby odczytać właściwości.

Oto przykład kodu Java, który pokazuje, jak odczytać właściwość kształtu, używając jego nazwy:

// Wczytaj plik Visio
Diagram diagram = new Diagram("Drawing1.vsdx");

// Uzyskaj dostęp do pierwszej strony
Page page = diagram.getPages().get(0);

// Iterate through shapes
for (Shape shape : (Iterable<Shape>) page.getShapes()) {
    // Przeczytaj właściwości kształtu według nazwy
    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());
        }
    }
}

Przeczytaj InheritProps klasy Shape w Javie

Możesz również uzyskać odziedziczone właściwości kształtu, wykonując poniższe kroki:

  1. Otwórz plik Visio.
  2. Pobierz stronę i przejdź przez kształty.
  3. Użyj InheritProps, aby odczytać odziedziczone wartości.

Następujący przykładowy kod Java pokazuje, jak odczytać InheritProps kształtów Visio w Javie:

// Załaduj plik Visio
Diagram diagram = new Diagram("Drawing1.vsdx");

// Uzyskaj dostęp do pierwszej strony
Page page = diagram.getPages().get(0);

// Iterate through shapes 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());
    }
}

Zdobądź bezpłatną licencję

Czy chcesz spróbować Aspose.Diagram bez ograniczeń? Możesz uzyskać darmową tymczasową licencję i przetestować pełne funkcje biblioteki.

Otwórz i przeczytaj kształt Visio: Bezpłatne zasoby

Odkryj te darmowe zasoby, aby dowiedzieć się więcej:

Wnioski

W tym artykule nauczyłeś się, jak odczytywać dane kształtów Visio w Javie za pomocą Aspose.Diagram. Zobaczyłeś, jak ładować pliki, wyodrębniać właściwości kształtów i odczytywać dane dziedziczone. Dzięki temu potężnemu API możesz budować aplikacje Java, które łatwo przetwarzają pliki Visio.

Jeśli potrzebujesz pomocy, śmiało skontaktuj się z nami za pośrednictwem naszego free support forum.

Zobacz także