MS Visio est une application populaire qui vous permet de créer une large gamme de diagrammes tels que des organigrammes, des diagrammes de flux de données, des modèles de processus métier, etc. VSDX est le format de fichier utilisé par MS Visio pour stocker les schémas. Afin d’automatiser la manipulation VSDX, cet article vous fournit un didacticiel de base sur la création de diagrammes Visio à partir de zéro en C#. En outre, il explique comment insérer des pages, des formes et du texte dans les diagrammes VSDX à partir d’applications .NET.

API C# Visio - Téléchargement gratuit

Aspose.Diagram for .NET est une API riche en fonctionnalités qui vous permet de créer, modifier, convertir et traiter des diagrammes MS Visio à partir de vos applications .NET. L’API vous permet de manipuler plus facilement les diagrammes VSDX avec des propriétés et des méthodes faciles à utiliser. Vous pouvez soit télécharger la DLL de l’API, soit l’installer dans vos applications .NET à l’aide de NuGet.

Install-Package Aspose.Diagram

Créer un diagramme Visio VSDX à l’aide de C#

Tout d’abord, créons un diagramme VSDX vide à partir de zéro. Voici les étapes à suivre :

L’exemple de code suivant montre comment créer un diagramme Visio VSDX en C#.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Chemin d'accès au répertoire des documents.
string dataDir = RunExamples.GetDataDir_Diagrams();

// Créez un répertoire s'il n'est pas déjà présent.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);
// Initialiser un nouveau Visio
Diagram diagram = new Diagram();
dataDir = dataDir + "CreateDiagram_out.vsdx";
// Enregistrer au format VSDX
diagram.Save(dataDir, SaveFileFormat.VSDX);

Ajouter un maître au diagramme Visio en C#

Master est utilisé pour ajouter le gabarit qui contient une collection de formes à utiliser dans les diagrammes. Si vous souhaitez ajouter le maître, vous avez besoin d’un fichier de gabarit VSS et d’un ID de maître. Voici les étapes pour ajouter un maître au diagramme Visio à l’aide de Aspose.Diagram.

L’exemple de code suivant montre comment ajouter un masque au diagramme Visio à l’aide de C#.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Chemin d'accès au répertoire des documents.
string dataDir = RunExamples.GetDataDir_Master();

// Diagramme de charge
Diagram diagram = new Diagram();

// Charger le gabarit dans un flux
string templateFileName = dataDir + "NetApp-FAS-series.vss";
Stream stream = new FileStream(templateFileName, FileMode.Open);

// Ajouter un maître avec le chemin du fichier de gabarit et l'ID du maître
string masterName = "FAS80xx rear empty";
diagram.AddMaster(templateFileName, 2);

// Ajouter un maître avec le chemin du fichier de gabarit et le nom du maître
diagram.AddMaster(templateFileName, masterName);

// Ajouter un maître avec le flux de fichiers stencil et l'identifiant du maître
diagram.AddMaster(stream, 2);

// Ajoute le maître au diagramme à partir du diagramme source
Diagram src = new Diagram(templateFileName);
diagram.AddMaster(src, masterName);

// Ajouter un maître avec le flux de fichiers stencil et l'identifiant du maître
diagram.AddMaster(stream, masterName);

// Ajoute une forme avec PinX et PinY définis.
diagram.AddShape(2.0, 2.0, masterName, 0);
diagram.AddShape(6.0, 6.0, masterName, 0);

// Ajoute une forme avec PinX, PinY, largeur et hauteur définis.
diagram.AddShape(7.0, 3.0, 1.5, 1.5, masterName, 0);

Pour plus de détails, veuillez consulter working with master.

Insérer des pages dans un diagramme Visio en C#

Les diagrammes MS Visio se composent d’une ou plusieurs pages et chaque page contient les diagrammes. Par conséquent, avant d’ajouter une forme, vous devez ajouter une page en procédant comme suit.

  • Créez un nouveau diagramme ou chargez-en un existant à l’aide de la classe Diagram.
  • Vérifiez si le diagramme contient déjà une page à l’aide de la propriété Diagram.Pages.Count.
  • Si c’est le cas, obtenez l’ID de la dernière page à l’aide de la propriété Diagram.Pages[index].ID.
  • Créez une nouvelle page en utilisant la classe Page et définissez son nom et son ID.
  • Ajoutez une page au diagramme à l’aide de la méthode Diagram.Pages.Add(Page).
  • Enregistrez le diagramme VSDX à l’aide de la méthode Diagram.Save(Sring fileName, SaveFileFormat.VSDX).

L’exemple de code suivant montre comment ajouter une page dans le diagramme Visio VSDX à l’aide de C#.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Chemin d'accès au répertoire des documents.
string dataDir = RunExamples.GetDataDir_VisioPages();

// Diagramme de charge
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");

// Il calcule l'identifiant maximum de la page
int max = 0;
if (diagram.Pages.Count != 0)
    max = diagram.Pages[0].ID;

for (int i = 1; i < diagram.Pages.Count; i++)
{
    if (max < diagram.Pages[i].ID)
        max = diagram.Pages[i].ID;
}

// Définir l'ID de page maximum
int MaxPageId = max;

// Initialiser un nouvel objet de page
Page newPage = new Page();
// Définir le nom
newPage.Name = "new page";
// Définir l'identifiant de la page
newPage.ID = MaxPageId + 1;

// Ou essayez le constructeur de page
// Page nouvellePage = nouvelle Page(MaxPageId + 1);

// Ajouter une nouvelle page vierge
diagram.Pages.Add(newPage);

// Enregistrer le diagramme
diagram.Save(dataDir + "InsertBlankPage_out.vsdx", SaveFileFormat.VSDX);

Pour plus de détails, veuillez consulter travailler avec des pages.

Créer une forme dans le diagramme Visio à l’aide de C#

Les formes sont les blocs de construction des diagrammes Visio. MS Visio prend en charge une large gamme de formes pour créer des diagrammes dans divers domaines. Les étapes suivantes montrent comment insérer une forme dans Visio Diagram.

L’exemple de code suivant montre comment ajouter une forme dans le diagramme Visio à l’aide de C#.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Chemin d'accès au répertoire des documents.
string dataDir = RunExamples.GetDataDir_Shapes();

// Charger un diagramme
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// Obtenir la page par nom
Page page = diagram.Pages.GetPage("Page-2");

// Ajouter un maître avec le chemin du fichier de gabarit et le nom du maître
string masterName = "Rectangle";
diagram.AddMaster(dataDir + "Basic Shapes.vss", masterName);
            
// L'indexation des pages commence à partir de 0
int PageIndex = 1;
double width = 2, height = 2, pinX = 4.25, pinY = 4.5;
// Ajouter une nouvelle forme de rectangle
long rectangleId = diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex);
            
// Définir les propriétés de la forme 
Shape rectangle = page.Shapes.GetShape(rectangleId);
rectangle.XForm.PinX.Value = 5;
rectangle.XForm.PinY.Value = 5;
rectangle.Type = TypeValue.Shape;
rectangle.Text.Value.Add(new Txt("Aspose Diagram"));
rectangle.TextStyle = diagram.StyleSheets[3];
rectangle.Line.LineColor.Value = "#ff0000";
rectangle.Line.LineWeight.Value = 0.03;
rectangle.Line.Rounding.Value = 0.1;
rectangle.Fill.FillBkgnd.Value = "#ff00ff";
rectangle.Fill.FillForegnd.Value = "#ebf8df";

diagram.Save(dataDir + "AddShape_out.vsdx", SaveFileFormat.VSDX);
Console.WriteLine("Shape has been added.");

Pour plus de détails, veuillez consulter travailler avec des formes.

Ajouter une forme de texte dans la page Visio en C#

Dans divers cas, vous devez également ajouter du texte aux diagrammes Visio. Pour cela, vous pouvez suivre les étapes ci-dessous.

L’exemple de code suivant montre comment ajouter du texte dans un diagramme VSDX à l’aide de C#.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Chemin d'accès au répertoire des documents.
string dataDir = RunExamples.GetDataDir_ShapeText();

// Créer un nouveau diagramme
Diagram diagram = new Diagram();
// Définir des paramètres et ajouter du texte à une page Visio
double PinX = 1, PinY = 1, Width = 1, Height = 1;                  
diagram.Pages[0].AddText(PinX, PinY, Width, Height, "Test text");
// Enregistrer le diagramme 
diagram.Save(dataDir + "InsertTextShape_out.vsdx", SaveFileFormat.VSDX);

Pour plus de détails, veuillez consulter travailler avec du texte.

Conclusion

Dans cet article, vous avez appris certaines fonctionnalités de base d’Aspose.Diagram for .NET pour créer des diagrammes Visio VSDX à partir de zéro. Les exemples de code ont montré comment ajouter des maîtres, des pages, des formes et du texte dans des diagrammes VSDX à l’aide de C#. Vous pouvez en savoir plus sur l’API à l’aide de la documentation.

Voir également