Een Visio-diagram rechtstreeks vanuit Java-code maken kan documentatieworkflows stroomlijnen en handmatig tekenwerk elimineren. Conholdate.Total for Java biedt een robuuste SDK waarmee je programmatisch Visio‑bestanden kunt genereren. In deze gids maken we een Visio-diagram in Java, voegen we een vorm toe vanuit een master‑sjabloon, positioneren we deze en passen we tekststijlen toe. Aan het einde heb je een kant‑klaar te openen VSDX‑bestand dat verder kan worden bewerkt in Microsoft Visio.

De vereisten voor het maken van Visio-diagrammen

Bedrijven moeten vaak technische schema’s, stroomdiagrammen of netwerktekeningen automatisch uit gegevensbronnen genereren. Java‑ontwikkelaars die rapportagedashboards, configuratietools of CI‑pijplijnen bouwen, worden vaak geconfronteerd met de eis om Visio‑bestanden te genereren zonder handmatige tussenkomst. De oplossing moet master‑gebaseerde vormcreatie, nauwkeurige positionering en tekstopmaak die overeenkomt met bestaande Visio‑stencils ondersteunen. Handmatig tekenen in Visio is tijdrovend en foutgevoelig, vooral wanneer diagrammen bij elke build opnieuw moeten worden gegenereerd.

De aanpak: Visio-diagramgeneratie met Conholdate.Total

Conholdate.Total for Java biedt een speciale diagram-API die werkt met het VSDX-formaat. Het stelt u in staat om master-stencils te laden, vormen van die masters toe te voegen, vormen te verplaatsen via hun XForm-eigenschappen, tekst toe te voegen en vooraf gedefinieerde tekststijlen toe te passen, alles via eenvoudige Java-aanroepen. Documentatie voor de diagramklassen is beschikbaar op de officiële documentatie, en de volledige API-referentie kan worden verkend op de API-referentie. Met deze bibliotheek kunt u de volledige Visio-creatie-pipeline automatiseren op een server- of desktopomgeving.

De oplossing bouwen: Visio-diagram maken in Java

De volgende stappen begeleiden u door het volledige proces, van Maven-configuratie tot het opslaan van het uiteindelijke VSDX‑bestand.

Maven-afhankelijkheid toevoegen en klassen importeren

Configureer eerst de Conholdate Maven-repository en voeg de SDK‑afhankelijkheid toe aan uw 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>

De diagramklassen die in deze tutorial worden gebruikt, bevinden zich in het com.aspose.diagram-pakket, dat wordt geleverd als onderdeel van de Conholdate.Total for Java-bundel:

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;

Initialiseer het diagram en laad een mastervorm

Maak een nieuwe Diagram-instantie, laad vervolgens een stencil‑bestand en kies de master die u als basis voor uw vorm wilt gebruiken. Hier gebruiken we de ingebouwde “Rectangle”-master uit het “Basic Shapes.vss”-stencil.

// 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);

Voeg een vorm toe vanuit de master en stel de positie in

Voeg een vorm toe aan het diagram met behulp van de master, zoek vervolgens de vorm op aan de hand van de ID die addShape retourneert, zodat je de positie kunt aanpassen.

// 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);

Tekst toevoegen en een tekststijl toepassen

Koppel een tekstrun aan de vorm en pas een van de vooraf gedefinieerde stijlsjablonen van het diagram toe zodat het label overeenkomt met de rest van het document.

// 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));

Diagram opslaan als VSDX

Schrijf tenslotte het diagram naar een VSDX‑bestand dat kan worden geopend in Microsoft Visio.

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

Maak Visio-diagram in Java - Volledig werkend voorbeeld - Complete codevoorbeeld

De volgende code toont de volledige workflow van begin tot eind.

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();
        }
    }
}

Opmerking: Deze code‑voorbeeld toont de kernfunctionaliteit. Voordat u het in uw project gebruikt, moet u ervoor zorgen dat u alle bestandspaden en configuratiewaarden bijwerkt zodat ze overeenkomen met uw daadwerkelijke omgeving, verifieer dat alle vereiste afhankelijkheden correct zijn geïnstalleerd, en test grondig in uw ontwikkelomgeving. Als u problemen ondervindt, raadpleeg dan de officiële documentatie of neem contact op met het ondersteuningsteam voor hulp.

Implementatieoverwegingen voor Visio-diagramprojecten

De SDK draait op elke Java 8+ runtime, waardoor hij geschikt is voor backendservices, batchtaken of desktophulpmiddelen. Bij het genereren van grote diagrammen, houd het heap‑gebruik in de gaten en overweeg het hergebruiken van een enkele Diagram‑instantie voor meerdere pagina’s om het geheugenoverhead te verminderen. Een geldige licentie is vereist voor productie; je kunt een tijdelijke licentie voor testen verkrijgen via de tijdelijke licentiepagina en een volledige licentie kopen via de prijspagina. Zorg ervoor dat de uitvoermap schrijfbaar is voor het proces dat de code uitvoert.

Conclusie

Programma’s om Visio-diagrammen in Java te maken wordt eenvoudig met Conholdate.Total for Java. Door de bovenstaande stappen te volgen kun je een masterstencil laden, VSDX‑bestanden genereren, vormen nauwkeurig positioneren en consistente tekststijlen toepassen. Vergeet niet een juiste productie‑licentie aan te schaffen en de gegenereerde diagrammen in Microsoft Visio te testen om de lay‑outgetrouwheid te verifiëren. Met de SDK kun je diagramcreatie automatiseren in een breed scala aan ondernemingsscenario’s.

FAQs

  • Hoe kan ik een Visio-diagram maken in Java met behulp van een master-sjabloon?
    Gebruik de diagramklassen die worden geleverd door Conholdate.Total for Java, laad een stencil met addMaster, voeg een vorm toe vanuit die master met addShape en sla het bestand op als VSDX.

  • Welk bestandsformaat genereert de SDK voor Visio-diagrammen?
    De SDK levert het moderne VSDX-formaat, dat volledig compatibel is met Microsoft Visio.

  • Heb ik een licentie nodig om de gegenereerde Visio‑bestanden in productie uit te voeren?
    Ja. Verkrijg een productie‑licentie via de prijspagina en u kunt tijdens ontwikkeling een tijdelijke licentie gebruiken.

  • Kan ik deze diagramgeneratie integreren in een webservice?
    Zeker. De SDK is een pure Java‑bibliotheek, dus je kunt deze aanroepen vanuit elke Java‑gebaseerde backend, zoals Spring Boot of Jakarta EE.

Lees meer