Créer un diagramme Visio directement à partir du code Java peut rationaliser les flux de travail de documentation et éliminer l’effort de dessin manuel. Conholdate.Total for Java fournit un SDK robuste qui vous permet de générer des fichiers Visio de manière programmatique. Dans ce guide, nous créerons un diagramme Visio en Java, ajouterons une forme à partir d’un modèle maître, la positionnerons et appliquerons le style de texte. À la fin, vous disposerez d’un fichier VSDX prêt à être ouvert et qui pourra être édité davantage dans Microsoft Visio.
Exigences de création de diagrammes Visio
Les entreprises ont souvent besoin de produire automatiquement des schémas techniques, des organigrammes ou des diagrammes réseau à partir de sources de données. Les développeurs Java qui créent des tableaux de bord de reporting, des outils de configuration ou des pipelines CI sont fréquemment confrontés à la nécessité de générer des fichiers Visio sans intervention manuelle. La solution doit prendre en charge la création de formes basées sur des maîtres, le positionnement précis et le style de texte correspondant aux modèles Visio existants. Le dessin manuel dans Visio est chronophage et sujet aux erreurs, surtout lorsque les diagrammes doivent être régénérés à chaque construction.
L’approche : génération de diagrammes Visio avec Conholdate.Total
Conholdate.Total for Java propose une API de diagramme dédiée qui fonctionne avec le format VSDX. Elle vous permet de charger des modèles maîtres, d’ajouter des formes à partir de ces maîtres, de repositionner les formes via leurs propriétés XForm, d’attacher du texte et d’appliquer des styles de texte prédéfinis, le tout à l’aide d’appels Java simples. La documentation des classes de diagramme est disponible dans la documentation officielle, et la référence complète de l’API peut être consultée dans la référence API. En utilisant cette bibliothèque, vous pouvez automatiser l’ensemble du pipeline de création Visio sur un serveur ou un environnement de bureau.
Construction de la solution : créer un diagramme Visio en Java
Les étapes suivantes vous guident à travers le processus complet, de la configuration de Maven à l’enregistrement du fichier VSDX final.
Ajouter la dépendance Maven et importer les classes
Tout d’abord, configurez le référentiel Maven Conholdate et ajoutez la dépendance SDK à votre 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>
Les classes de diagramme utilisées dans ce tutoriel se trouvent dans le package com.aspose.diagram, qui est fourni dans le cadre du bundle 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;
Initialiser le diagramme et charger une forme maître
Créez une nouvelle instance de Diagram, puis chargez un fichier de gabarit et choisissez le maître que vous souhaitez utiliser comme base pour votre forme. Ici, nous utilisons le maître intégré “Rectangle” du gabarit “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);
Ajouter une forme depuis le maître et définir sa position
Ajoutez une forme au diagramme en utilisant le master, puis recherchez la forme par l’ID que addShape renvoie afin de pouvoir ajuster sa position.
// 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);
Ajouter du texte et appliquer un style de texte
Attachez un segment de texte à la forme et appliquez l’une des feuilles de style prédéfinies du diagramme afin que l’étiquette corresponde au reste du 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));
Enregistrer le diagramme au format VSDX
Enfin, écrivez le diagramme dans un fichier VSDX qui peut être ouvert dans Microsoft Visio.
diagram.save("Visio_out.vsdx", SaveFileFormat.VSDX);
Créer un diagramme Visio en Java - Exemple complet fonctionnel - Exemple de code complet
Le code suivant montre l’ensemble du flux de travail du début à la fin.
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();
}
}
}
Remarque : Cet exemple de code démontre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez‑vous de mettre à jour tous les chemins de fichiers et les valeurs de configuration pour qu’ils correspondent à votre environnement réel, vérifiez que toutes les dépendances requises sont correctement installées et testez soigneusement dans votre environnement de développement. Si vous rencontrez des problèmes, veuillez consulter la documentation officielle ou contacter l’équipe d’assistance pour obtenir de l’aide.
Considérations de déploiement pour les projets de diagrammes Visio
Le SDK fonctionne sur n’importe quel environnement d’exécution Java 8+, ce qui le rend adapté aux services backend, aux travaux batch ou aux utilitaires de bureau. Lors de la génération de diagrammes volumineux, surveillez l’utilisation du tas et envisagez de réutiliser une seule instance Diagram pour plusieurs pages afin de réduire la surcharge mémoire. Une licence valide est requise en production ; vous pouvez obtenir une licence temporaire pour les tests depuis la page de licence temporaire et acheter une licence complète via la page de tarification. Assurez-vous que le répertoire de sortie est accessible en écriture par le processus qui exécute le code.
Conclusion
Créer des diagrammes Visio en Java de manière programmatique devient simple avec Conholdate.Total for Java. En suivant les étapes ci‑dessus, vous pouvez charger un gabarit maître, générer des fichiers VSDX, positionner les formes avec précision et appliquer un style de texte cohérent. N’oubliez pas d’obtenir une licence de production appropriée et de tester les diagrammes générés dans Microsoft Visio afin de vérifier la fidélité de la mise en page. Avec le SDK en place, vous pouvez automatiser la création de diagrammes dans un large éventail de scénarios d’entreprise.
FAQ
Comment créer un diagramme Visio en Java en utilisant un modèle maître ?
Utilisez les classes de diagramme fournies par Conholdate.Total for Java, chargez un pochoir avecaddMaster, ajoutez une forme à partir de ce maître avecaddShapeet enregistrez le fichier au format VSDX.Quel format de fichier le SDK génère-t-il pour les diagrammes Visio ?
Le SDK génère le format VSDX moderne, qui est entièrement compatible avec Microsoft Visio.Ai-je besoin d’une licence pour exécuter les fichiers Visio générés en production ?
Oui. Obtenez une licence de production depuis la page de tarification et vous pouvez utiliser une licence temporaire pendant le développement.Puis-je intégrer cette génération de diagrammes dans un service web ?
Absolument. Le SDK est une bibliothèque Java pure, vous pouvez donc l’appeler depuis n’importe quel backend basé sur Java tel que Spring Boot ou Jakarta EE.
