Créer un diagramme Visio en C#
Microsoft Visio est un outil largement utilisé pour concevoir des organigrammes, des graphiques organisationnels, des diagrammes de réseau, des flux de processus et d’autres types de visuels techniques ou commerciaux nécessitant des formes et des connexions précises. Pour de nombreuses équipes et scénarios d’automatisation, dessiner des diagrammes manuellement n’est pas pratique lorsque des diagrammes doivent être générés pour de nombreux enregistrements, créés à la demande ou intégrés dans des pipelines de reporting. La génération de diagrammes programmatique résout ces problèmes en permettant aux développeurs de produire des diagrammes cohérents et répétables directement à partir de sources de données ou de logique métier à l’intérieur d’une application C#. L’exemple montré dans cet article démontre comment créer un diagramme Visio de manière programmatique en C#, ajouter une forme rectangulaire à partir d’un gabarit maître, le positionner et le dimensionner, définir le
L’automatisation de la création de diagrammes est utile dans de nombreux contextes réels où des diagrammes doivent être produits de manière fiable et répétée. Par exemple, vous pourriez générer des diagrammes d’architecture pour chaque environnement de déploiement, créer des cartes réseau pour des tableaux de bord de surveillance, ou construire des organigrammes standardisés à partir de données RH. La génération programmatique garantit que les règles de mise en page sont appliquées de manière cohérente, que les formes respectent les mêmes directives de style, et que les fichiers de sortie sont produits sans intervention manuelle. Les sections suivantes passent en revue la logique, une approche étape par étape, un extrait de code C# complet que vous pouvez copier-coller, et une FAQ détaillée pour couvrir les préoccupations courantes et les prochaines étapes lors de l’intégration de la génération de diagrammes dans vos applications.
Pourquoi créer des diagrammes Visio par programmation ?
- Rendre la génération de diagrammes en masse ou à la demande fiable et répétable afin que les diagrammes soient produits de manière cohérente à travers de nombreux enregistrements ou exécutions, économisant du temps de dessin manuel et éliminant la variance de mise en page humaine.
- Intégrez la génération de diagrammes dans des workflows automatisés tels que les rapports, les pipelines de documentation ou la livraison continue afin que les visuels soient toujours à jour avec les données sous-jacentes sans aucune modification manuelle.
- Appliquez les directives de style d’entreprise ou de projet par programme pour garantir que les formes, les polices et les couleurs soient cohérentes dans tous les diagrammes et réduire le besoin de relecture manuelle et de retravail.
- Produire des diagrammes dans plusieurs formats et les intégrer dans d’autres documents ou systèmes, permettant une distribution multiplateforme et une consommation plus facile par les parties prenantes.
- Production de diagrammes à échelle dans des centaines ou des milliers d’articles dans des scénarios tels que la génération de diagrammes individuels par client, par site ou par déploiement, où l’édition manuelle serait infaisable.
Créer un diagramme Visio VSDX en C#
- Preparez votre projet en ajoutant la bibliothèque de diagrammes aux références du projet afin d’avoir accès aux classes diagramme et forme.
- Initialisez un nouvel objet de diagramme qui sert de toile pour contenir des pages, des masters, des formes et des styles.
- Ajoutez ou chargez un modèle maître contenant les modèles de forme que vous souhaitez utiliser, par exemple un maître rectangle d’un gabarit de formes de base.
- Définissez les dimensions et les coordonnées pour chaque forme que vous souhaitez placer afin que les positions et les tailles soient déterministes et puissent être calculées à partir des données ou des règles de mise en page.
- Ajoutez des formes au diagramme en vous référant au modèle maître et aux valeurs de position et de taille calculées, puis capturez l’identifiant de forme retourné si vous souhaitez modifier davantage la forme.
- Récupérez l’instance de forme lorsque vous devez modifier ses propriétés telles que l’emplacement, le texte, le style ou le type, et appliquez les changements par programme.
- Save the final diagram to the desired format, typically VSDX for Visio compatibility, or export to images or other supported formats for embedding in documents.
// Create a new instance of a diagram
Aspose.Diagram.Diagram diagram = new Aspose.Diagram.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
Aspose.Diagram.Shape rectangle = diagram.Pages[0].Shapes.GetShape(rectangleId);
// Set the position of the shape by modifying its PinX and PinY properties
rectangle.XForm.PinX.Value = 5;
rectangle.XForm.PinY.Value = 5;
// Set the type of the shape to indicate it is a standard shape
rectangle.Type = Aspose.Diagram.TypeValue.Shape;
// Add text to the shape
rectangle.Text.Value.Add(new Aspose.Diagram.Txt("Aspose Diagram"));
// Apply a predefined text style to the shape's text
rectangle.TextStyle = diagram.StyleSheets[3];
// Save the modified diagram to a file
diagram.Save("Visio_out.vsdx", Aspose.Diagram.SaveFileFormat.Vsdx);
Ce extrait démontre un flux complet allant de la création d’une nouvelle instance de diagramme à l’enregistrement du résultat en tant que fichier VSDX. Le code commence par enregistrer une forme maître à partir d’un fichier de stencil, puis ajoute un rectangle en utilisant des coordonnées et des tailles explicites. Après avoir ajouté la forme, le code récupère l’instance pour peaufiner sa position et son type, insérer du contenu textuel et appliquer un style existant à partir de la collection de feuilles de style de diagramme. Enfin, le diagramme est enregistré sur le disque. Vous pouvez adapter cet extrait pour ajouter plusieurs formes, créer des connecteurs entre les formes, générer plusieurs pages ou appliquer un style dynamique basé sur des données.
Conclusion
Créer des diagrammes Visio de manière programmatique en C# est une approche pratique et puissante pour automatiser la documentation visuelle, standardiser l’esthétique des diagrammes et intégrer les résultats des diagrammes dans les systèmes de reporting ou de documentation d’entreprise. En suivant les étapes et l’exemple fournis, vous pouvez commencer rapidement, puis étendre l’approche pour générer des diagrammes complexes, des connecteurs et des documents multi-pages directement à partir de sources de données. Que vous ayez besoin de diagrammes d’architecture automatisés, de graphiques organisationnels, de topologies réseau ou de flux de processus, la génération de diagrammes programmatique rend le processus plus rapide, plus cohérent et moins sujet aux erreurs, permettant ainsi aux concepteurs et aux ingénieurs de se concentrer sur des décisions de niveau supérieur plutôt que sur des tâches de dessin répétitives.