Tworzenie diagramu Visio bezpośrednio z kodu Java może usprawnić przepływy pracy dokumentacji i wyeliminować ręczne rysowanie. Conholdate.Total for Java zapewnia solidny SDK, który umożliwia programowe generowanie plików Visio. W tym przewodniku stworzymy diagram Visio w Javie, dodamy kształt z szablonu master, umieścimy go i zastosujemy stylizację tekstu. Po zakończeniu będziesz mieć gotowy do otwarcia plik VSDX, który można dalej edytować w Microsoft Visio.

Wymagania dotyczące tworzenia diagramu Visio

Przedsiębiorstwa często muszą automatycznie generować techniczne schematy, diagramy przepływu lub diagramy sieciowe z źródeł danych. Programiści Java tworzący pulpity raportowe, narzędzia konfiguracyjne lub potoki CI często napotykają wymóg generowania plików Visio bez ręcznej interwencji. Rozwiązanie musi obsługiwać tworzenie kształtów oparte na szablonach master, precyzyjne pozycjonowanie oraz stylizację tekstu zgodną z istniejącymi szablonami Visio. Ręczne rysowanie w Visia jest czasochłonne i podatne na błędy, szczególnie gdy diagramy muszą być odtwarzane przy każdym buildzie.

Podejście: Generowanie diagramów Visio przy użyciu Conholdate.Total

Conholdate.Total for Java oferuje dedykowane API diagramów, które działa z formatem VSDX. Umożliwia ładowanie szablonów master, dodawanie kształtów z tych szablonów, przemieszczanie kształtów poprzez ich właściwości XForm, dołączanie tekstu oraz stosowanie predefiniowanych stylów tekstu, wszystko za pomocą prostych wywołań Java. Dokumentacja klas diagramów jest dostępna w oficjalnej dokumentacji, a pełną referencję API można przeglądać w referencji API. Korzystając z tej biblioteki, możesz zautomatyzować cały proces tworzenia Visio na serwerze lub w środowisku desktopowym.

Budowanie rozwiązania: Utwórz diagram Visio w Javie

Poniższe kroki przeprowadzą Cię przez cały proces, od konfiguracji Maven po zapisanie ostatecznego pliku VSDX.

Dodaj zależność Maven i importuj klasy

Najpierw skonfiguruj repozytorium Maven Conholdate i dodaj zależność SDK do swojego pliku pom.xml.

<repositories>
  <repository>
    <id>conholdate-repo</id>
    <name>Conholdate Maven Repository</name>
    <url>https://repository.conholdate.com/repo/</url>
  </repository>
</repositories>

<dependency>
  <groupId>com.conholdate</groupId>
  <artifactId>conholdate-total</artifactId>
  <version>24.9</version>
  <type>pom</type>
</dependency>

Klasy diagramu używane w tym samouczku znajdują się w pakiecie com.aspose.diagram, który jest dostarczany jako część pakietu Conholdate.Total for Java:

import com.aspose.diagram.Diagram;
import com.aspose.diagram.Shape;
import com.aspose.diagram.TypeValue;
import com.aspose.diagram.Txt;
import com.aspose.diagram.SaveFileFormat;

Zainicjuj diagram i załaduj kształt główny

Utwórz nową instancję Diagram, a następnie załaduj plik szablonu i wybierz master, na którym chcesz oprzeć swój kształt. Tutaj używamy wbudowanego mastera „Rectangle” z szablonu „Basic Shapes.vss”.

// Create a new instance of a diagram
Diagram diagram = new Diagram();

// Define the name of the master (template) to be used for creating shapes
String masterName = "Rectangle";
diagram.addMaster("Basic Shapes.vss", masterName);

Dodaj kształt z Mastera i ustaw jego pozycję

Dodaj kształt do diagramu przy użyciu mastera, a następnie znajdź kształt po ID zwróconym przez addShape, aby móc dostosować jego położenie.

// Define the dimensions and position for the new shape
double width = 2, height = 2, pinX = 4.25, pinY = 4.5;

// Add a new rectangle shape to the diagram using the specified master
long rectangleId = diagram.addShape(pinX, pinY, width, height, masterName, 0);

// Retrieve the shape by its ID for modification
Shape rectangle = diagram.getPages().get(0).getShapes().getShape(rectangleId);

// Set the position of the shape by modifying its PinX and PinY properties
rectangle.getXForm().getPinX().setValue(5);
rectangle.getXForm().getPinY().setValue(5);

// Set the type of the shape to indicate it is a standard shape
rectangle.setType(TypeValue.SHAPE);

Dodaj tekst i zastosuj styl tekstu

Dołącz fragment tekstu do kształtu i zastosuj jeden z wstępnie zdefiniowanych arkuszy stylów diagramu, aby etykieta pasowała do reszty dokumentu.

// Add text to the shape
rectangle.getText().getValue().add(new Txt("Aspose Diagram"));

// Apply a predefined text style to the shape's text
rectangle.setTextStyle(diagram.getStyleSheets().get(3));

Zapisz diagram jako VSDX

Na koniec zapisz diagram do pliku VSDX, który można otworzyć w programie Microsoft Visio.

diagram.save("Visio_out.vsdx", SaveFileFormat.VSDX);

Utwórz diagram Visio w Javie - Pełny działający przykład - Kompletny kod

Poniższy kod demonstruje cały przepływ pracy od początku do końca.

import com.aspose.diagram.Diagram;
import com.aspose.diagram.Shape;
import com.aspose.diagram.TypeValue;
import com.aspose.diagram.Txt;
import com.aspose.diagram.SaveFileFormat;

public class CreateVisioDiagram {
    public static void main(String[] args) {
        try {
            // Create a new instance of a diagram
            Diagram diagram = new Diagram();

            // Define the name of the master (template) to be used for creating shapes
            String masterName = "Rectangle";
            diagram.addMaster("Basic Shapes.vss", masterName);

            // Define the dimensions and position for the new shape
            double width = 2, height = 2, pinX = 4.25, pinY = 4.5;

            // Add a new rectangle shape to the diagram using the specified master
            long rectangleId = diagram.addShape(pinX, pinY, width, height, masterName, 0);

            // Retrieve the shape by its ID for modification
            Shape rectangle = diagram.getPages().get(0).getShapes().getShape(rectangleId);

            // Set the position of the shape by modifying its PinX and PinY properties
            rectangle.getXForm().getPinX().setValue(5);
            rectangle.getXForm().getPinY().setValue(5);

            // Set the type of the shape to indicate it is a standard shape
            rectangle.setType(TypeValue.SHAPE);

            // Add text to the shape
            rectangle.getText().getValue().add(new Txt("Aspose Diagram"));

            // Apply a predefined text style to the shape's text
            rectangle.setTextStyle(diagram.getStyleSheets().get(3));

            // Save the modified diagram to a file
            diagram.save("Visio_out.vsdx", SaveFileFormat.VSDX);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Uwaga: Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem go w swoim projekcie upewnij się, że zaktualizowałeś wszystkie ścieżki plików i wartości konfiguracyjne, aby pasowały do rzeczywistego środowiska, sprawdź, czy wszystkie wymagane zależności są prawidłowo zainstalowane, oraz dokładnie przetestuj w środowisku deweloperskim. Jeśli napotkasz jakiekolwiek problemy, odwołaj się do oficjalnej dokumentacji lub skontaktuj się z zespołem wsparcia w celu uzyskania pomocy.

Rozważania dotyczące wdrażania projektów diagramów Visio

SDK działa na dowolnym środowisku uruchomieniowym Java 8+, co czyni go odpowiednim dla usług backendowych, zadań wsadowych lub narzędzi desktopowych. Podczas generowania dużych diagramów monitoruj zużycie pamięci sterty i rozważ ponowne użycie pojedynczej instancji Diagram dla wielu stron, aby zmniejszyć obciążenie pamięci. Do produkcji wymagana jest ważna licencja; tymczasową licencję do testów możesz uzyskać na stronie tymczasowej licencji oraz zakupić pełną licencję poprzez stronę cenową. Upewnij się, że katalog wyjściowy jest zapisywalny przez proces wykonujący kod.

Podsumowanie

Programowe tworzenie diagramów Visio w Javie staje się proste dzięki Conholdate.Total for Java. Postępując zgodnie z powyższymi krokami, możesz załadować główny szablon, generować pliki VSDX, precyzyjnie pozycjonować kształty i stosować spójne formatowanie tekstu. Pamiętaj, aby uzyskać odpowiednią licencję produkcyjną i przetestować wygenerowane diagramy w Microsoft Visio, aby zweryfikować dokładność układu. Mając SDK, możesz automatyzować tworzenie diagramów w szerokim zakresie scenariuszy przedsiębiorstwa.

FAQs

  • Jak mogę utworzyć diagram Visio w Javie przy użyciu szablonu master?
    Użyj klas diagramu udostępnionych przez Conholdate.Total for Java, załaduj szablon przy pomocy addMaster, dodaj kształt z tego mastera przy użyciu addShape i zapisz plik jako VSDX.

  • Jaki format pliku generuje SDK dla diagramów Visio?
    SDK generuje nowoczesny format VSDX, który jest w pełni kompatybilny z Microsoft Visio.

  • Czy potrzebuję licencji, aby uruchamiać wygenerowane pliki Visio w środowisku produkcyjnym?
    Tak. Uzyskaj licencję produkcyjną ze strony cennika i możesz używać licencji tymczasowej podczas tworzenia.

  • Czy mogę zintegrować generowanie diagramów z usługą sieciową?
    Zdecydowanie. SDK jest czystą biblioteką Java, więc możesz wywoływać ją z dowolnego backendu opartego na Javie, takiego jak Spring Boot lub Jakarta EE.

Czytaj więcej