MS Visio è un’applicazione popolare che consente di creare un’ampia gamma di diagrammi come diagrammi di flusso, diagrammi di flusso di dati, modelli di processi aziendali e così via. VSDX è il formato di file utilizzato da MS Visio per archiviare i diagrammi. Per automatizzare la manipolazione di VSDX, in questo articolo viene fornita un’esercitazione di base su come creare diagrammi di Visio da zero in C#. Inoltre, illustra come inserire pagine, forme e testo nei diagrammi VSDX dall’interno delle applicazioni .NET.

API C# Visio - Download gratuito

Aspose.Diagram for .NET è un’API ricca di funzionalità che consente di creare, modificare, convertire ed elaborare diagrammi MS Visio dalle applicazioni .NET. L’API semplifica la manipolazione dei diagrammi VSDX con proprietà e metodi facili da usare. Puoi scaricare la DLL dell’API o installarla all’interno delle tue applicazioni .NET usando NuGet.

Install-Package Aspose.Diagram

Crea un diagramma di Visio VSDX usando C#

Prima di tutto, creiamo da zero un diagramma VSDX vuoto. Di seguito sono riportati i passaggi per farlo:

Nell’esempio di codice seguente viene illustrato come creare un diagramma di Visio VSDX in C#.

// Per esempi completi e file di dati, visitare https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Il percorso della directory dei documenti.
string dataDir = RunExamples.GetDataDir_Diagrams();

// Crea directory se non è già presente.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);
// Inizializza un nuovo Visio
Diagram diagram = new Diagram();
dataDir = dataDir + "CreateDiagram_out.vsdx";
// Salva nel formato VSDX
diagram.Save(dataDir, SaveFileFormat.VSDX);

Aggiungi master al diagramma di Visio in C#

Master viene utilizzato per aggiungere lo stencil che contiene una raccolta di forme da utilizzare nei diagrammi. Se si desidera aggiungere il master, sono necessari un file stencil VSS e un ID master. Di seguito sono i passaggi per aggiungere un master al diagramma di Visio utilizzando Aspose.Diagram.

Nell’esempio di codice seguente viene illustrato come aggiungere un master al diagramma di Visio usando C#.

// Per esempi completi e file di dati, visitare https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Il percorso della directory dei documenti.
string dataDir = RunExamples.GetDataDir_Master();

// Diagramma di carico
Diagram diagram = new Diagram();

// Carica lo stencil in un flusso
string templateFileName = dataDir + "NetApp-FAS-series.vss";
Stream stream = new FileStream(templateFileName, FileMode.Open);

// Aggiungi master con percorso file stencil e ID master
string masterName = "FAS80xx rear empty";
diagram.AddMaster(templateFileName, 2);

// Aggiungi master con percorso file stencil e nome master
diagram.AddMaster(templateFileName, masterName);

// Aggiungi master con flusso di file stencil e ID master
diagram.AddMaster(stream, 2);

// Aggiunge il master al diagramma dal diagramma di origine
Diagram src = new Diagram(templateFileName);
diagram.AddMaster(src, masterName);

// Aggiungi master con flusso di file stencil e ID master
diagram.AddMaster(stream, masterName);

// Aggiunge la forma con PinX e PinY definiti.
diagram.AddShape(2.0, 2.0, masterName, 0);
diagram.AddShape(6.0, 6.0, masterName, 0);

// Aggiunge la forma con PinX, PinY, Larghezza e Altezza definiti.
diagram.AddShape(7.0, 3.0, 1.5, 1.5, masterName, 0);

Per maggiori dettagli, visita lavorare con il maestro.

Inserisci pagine in un diagramma di Visio in C#

I diagrammi di MS Visio sono costituiti da una o più pagine e ogni pagina contiene i diagrammi. Pertanto, prima di aggiungere una forma, è necessario aggiungere una pagina utilizzando i passaggi seguenti.

Nell’esempio di codice seguente viene illustrato come aggiungere una pagina nel diagramma di Visio VSDX usando C#.

// Per esempi completi e file di dati, visitare https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Il percorso della directory dei documenti.
string dataDir = RunExamples.GetDataDir_VisioPages();

// Diagramma di carico
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");

// Calcola l'ID massimo della pagina
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;
}

// Imposta ID pagina max
int MaxPageId = max;

// Inizializza un nuovo oggetto pagina
Page newPage = new Page();
// Imposta nome
newPage.Name = "new page";
// Imposta ID pagina
newPage.ID = MaxPageId + 1;

// Oppure prova il costruttore della pagina
// Pagina nuovaPagina = nuova Pagina(MaxPageId + 1);

// Aggiungi una nuova pagina vuota
diagram.Pages.Add(newPage);

// Salva diagramma
diagram.Save(dataDir + "InsertBlankPage_out.vsdx", SaveFileFormat.VSDX);

Per maggiori dettagli, visita lavorare con le pagine.

Crea una forma nel diagramma di Visio usando C#

Le forme sono gli elementi costitutivi dei diagrammi di Visio. MS Visio supporta un’ampia gamma di forme per creare diagrammi in vari domini. La procedura seguente illustra come inserire una forma nel diagramma di Visio.

Nell’esempio di codice seguente viene illustrato come aggiungere una forma nel diagramma di Visio usando C#.

// Per esempi completi e file di dati, visitare https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Il percorso della directory dei documenti.
string dataDir = RunExamples.GetDataDir_Shapes();

// Carica un diagramma
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// Ottieni la pagina per nome
Page page = diagram.Pages.GetPage("Page-2");

// Aggiungi master con percorso file stencil e nome master
string masterName = "Rectangle";
diagram.AddMaster(dataDir + "Basic Shapes.vss", masterName);
            
// L'indicizzazione delle pagine inizia da 0
int PageIndex = 1;
double width = 2, height = 2, pinX = 4.25, pinY = 4.5;
// Aggiungi una nuova forma rettangolare
long rectangleId = diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex);
            
// Imposta le proprietà della forma 
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.");

Per maggiori dettagli, visita lavorare con le forme.

Aggiungi una forma di testo nella pagina di Visio in C#

In vari casi è inoltre necessario aggiungere del testo ai diagrammi di Visio. Per questo, puoi seguire i passaggi seguenti.

Nell’esempio di codice seguente viene illustrato come aggiungere testo in un diagramma VSDX usando C#.

// Per esempi completi e file di dati, visitare https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Il percorso della directory dei documenti.
string dataDir = RunExamples.GetDataDir_ShapeText();

// Crea un nuovo diagramma
Diagram diagram = new Diagram();
// Imposta parametri e aggiungi testo a una pagina di Visio
double PinX = 1, PinY = 1, Width = 1, Height = 1;                  
diagram.Pages[0].AddText(PinX, PinY, Width, Height, "Test text");
// Salva diagramma 
diagram.Save(dataDir + "InsertTextShape_out.vsdx", SaveFileFormat.VSDX);

Per maggiori dettagli, visita lavorare con il testo.

Conclusione

In questo post, hai appreso alcune funzionalità di base di Aspose.Diagram per .NET per creare diagrammi Visio VSDX da zero. Gli esempi di codice hanno mostrato come aggiungere master, pagine, forme e testo nei diagrammi VSDX usando C#. Puoi esplorare di più sull’API utilizzando la documentazione.

Guarda anche