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
- Crea un diagramma di MS Visio usando C#
- Aggiungi master al diagramma VSDX in C#
- Inserisci pagine in un diagramma di Visio in C#
- Creare una forma in un diagramma di Visio in C#
- Aggiungi una forma di testo nella pagina di Visio in C#
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:
- Crea un’istanza della classe Diagram.
- Utilizzare il metodo Diagram.Save(Sring fileName, SaveFileFormat.VSDX) per salvare il file come VSDX.
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.
- Crea un nuovo diagramma o caricane uno esistente usando la classe Diagram.
- Aggiungi master utilizzando il metodo Diagram.AddMaster(String fileName, Int masterID).
- Aggiungi una forma dal master al diagramma usando il metodo Diagram.AddShape(Double, Double, String, Int).
- Salva il diagramma usando il metodo Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
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.
- Crea un nuovo diagramma o caricane uno esistente usando la classe Diagram.
- Verifica se il diagramma contiene già una pagina utilizzando la proprietà Diagram.Pages.Count.
- In tal caso, ottenere l’ID dell’ultima pagina utilizzando la proprietà Diagram.Pages[index].ID.
- Crea una nuova pagina usando la classe Pagina e impostane il nome e l’ID.
- Aggiungi una pagina al diagramma usando il metodo Diagram.Pages.Add(Page).
- Salva il diagramma VSDX usando il metodo Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
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.
- Crea un nuovo diagramma o caricane uno esistente usando la classe Diagram.
- Crea una Pagina o ottieni la pagina desiderata in un oggetto Pagina.
- Aggiungi il master al diagramma utilizzando il metodo Diagram.AddMaster(String fileName, Int masterID).
- Aggiungi una nuova forma rettangolare usando il metodo Diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex).
- Archivia l’ID forma restituito dal metodo Diagram.AddShape().
- Recupera la forma appena aggiunta nell’oggetto Shape usando il metodo Page.Shapes.GetShape(long ID).
- Imposta le proprietà della forma come testo, colore, ecc.
- Salva il diagramma VSDX usando il metodo Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
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.
- Crea un nuovo diagramma o caricane uno esistente usando la classe Diagram.
- Aggiungi testo a una pagina particolare usando il metodo Diagram.Pages[0].AddText(PinX, PinY, Width, Height, “Test text”).
- Salvare il diagramma VSDX utilizzando il metodo Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
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.