MS Visio ist eine beliebte Anwendung, mit der Sie eine Vielzahl von Diagrammen wie Flussdiagramme, Datenflussdiagramme, Geschäftsprozessmodelle usw. erstellen können. VSDX ist das Dateiformat, das MS Visio zum Speichern verwendet die Diagramme. Um die VSDX-Manipulation zu automatisieren, bietet Ihnen dieser Artikel ein grundlegendes Tutorial zum Erstellen von Visio Diagrammen von Grund auf neu in C#. Darüber hinaus wird behandelt, wie Sie Seiten, Formen und Text in die VSDX Diagramme aus .NET Anwendungen einfügen.

C# Visio-API – kostenloser Download

Aspose.Diagram for .NET ist eine funktionsreiche API, mit der Sie MS Visio Diagramme in Ihren .NET Anwendungen erstellen, bearbeiten, konvertieren und verarbeiten können. Die API erleichtert Ihnen die Bearbeitung der VSDX Diagramme mit benutzerfreundlichen Eigenschaften und Methoden. Sie können die DLL der API entweder herunterladen oder sie mit NuGet in Ihren .NET Anwendungen installieren.

Install-Package Aspose.Diagram

Erstellen Sie ein Visio VSDX Diagramm mit C#

Lassen Sie uns zunächst ein leeres VSDX Diagramm von Grund auf neu erstellen. Im Folgenden sind die Schritte dazu aufgeführt:

Das folgende Codebeispiel zeigt, wie Sie ein Visio VSDX Diagramm in C# erstellen.

// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = RunExamples.GetDataDir_Diagrams();

// Verzeichnis erstellen, falls noch nicht vorhanden.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);
// Initialisieren Sie ein neues Visio
Diagram diagram = new Diagram();
dataDir = dataDir + "CreateDiagram_out.vsdx";
// Speichern Sie im VSDX-Format
diagram.Save(dataDir, SaveFileFormat.VSDX);

Master zu Visio Diagramm in C# hinzufügen

Master wird verwendet, um die Schablone hinzuzufügen, die eine Sammlung von Formen enthält, die in Diagrammen verwendet werden. Wenn Sie den Master hinzufügen möchten, benötigen Sie eine VSS-Schablonendatei und eine Master-ID. Im Folgenden finden Sie die Schritte zum Hinzufügen eines Masters zum Visio Diagramm mithilfe von Aspose.Diagram.

Das folgende Codebeispiel zeigt, wie Sie mithilfe von C# einen Master zum Visio Diagramm hinzufügen.

// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = RunExamples.GetDataDir_Master();

// Belastungsdiagramm
Diagram diagram = new Diagram();

// Schablone in einen Stream laden
string templateFileName = dataDir + "NetApp-FAS-series.vss";
Stream stream = new FileStream(templateFileName, FileMode.Open);

// Master mit Schablonendateipfad und Master-ID hinzufügen
string masterName = "FAS80xx rear empty";
diagram.AddMaster(templateFileName, 2);

// Master mit Schablonendateipfad und Mastername hinzufügen
diagram.AddMaster(templateFileName, masterName);

// Master mit Schablonendateistream und Master-ID hinzufügen
diagram.AddMaster(stream, 2);

// Fügt Master aus Quelldiagramm zum Diagramm hinzu
Diagram src = new Diagram(templateFileName);
diagram.AddMaster(src, masterName);

// Master mit Schablonendateistream und Master-ID hinzufügen
diagram.AddMaster(stream, masterName);

// Fügt Form mit definiertem PinX und PinY hinzu.
diagram.AddShape(2.0, 2.0, masterName, 0);
diagram.AddShape(6.0, 6.0, masterName, 0);

// Fügt Form mit definierten PinX, PinY, Breite und Höhe hinzu.
diagram.AddShape(7.0, 3.0, 1.5, 1.5, masterName, 0);

Weitere Einzelheiten finden Sie unter working with master.

Einfügen von Seiten in ein Visio Diagramm in C#

MS Visio Diagramme bestehen aus einer oder mehreren Seiten und jede Seite enthält die Diagramme. Daher müssen Sie vor dem Hinzufügen einer Form eine Seite mit den folgenden Schritten hinzufügen.

  • Erstellen Sie ein neues Diagramm oder laden Sie ein vorhandenes mit der Klasse Diagram.
  • Überprüfen Sie, ob das Diagramm bereits eine Seite enthält, indem Sie die Eigenschaft Diagram.Pages.Count verwenden.
  • Wenn dies der Fall ist, rufen Sie die ID der letzten Seite mithilfe der Eigenschaft Diagram.Pages[index].ID ab.
  • Erstellen Sie eine neue Seite mit der Klasse Page und legen Sie ihren Namen und ihre ID fest.
  • Fügen Sie dem Diagramm mithilfe der Methode Diagram.Pages.Add(Page) eine Seite hinzu.
  • Speichern Sie das VSDX Diagramm mit der methode Diagram.Save(Sring fileName, SaveFileFormat.VSDX).

Das folgende Codebeispiel zeigt, wie Sie eine Seite in einem Visio VSDX Diagramm mit C# hinzufügen.

// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = RunExamples.GetDataDir_VisioPages();

// Belastungsdiagramm
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");

// Es berechnet die maximale Seiten-ID
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;
}

// Maximale Seiten-ID festlegen
int MaxPageId = max;

// Initialisieren Sie ein neues Seitenobjekt
Page newPage = new Page();
// Name einsetzen
newPage.Name = "new page";
// Seiten-ID festlegen
newPage.ID = MaxPageId + 1;

// Oder versuchen Sie es mit dem Seitenkonstruktor
// Seite neueSeite = neue Seite(MaxPageId + 1);

// Fügen Sie eine neue leere Seite hinzu
diagram.Pages.Add(newPage);

// Diagramm speichern
diagram.Save(dataDir + "InsertBlankPage_out.vsdx", SaveFileFormat.VSDX);

Weitere Einzelheiten finden Sie unter Arbeiten mit Seiten.

Erstellen Sie eine Form im Visio Diagramm mit C#

Shapes sind die Bausteine der Visio Diagramme. MS Visio unterstützt eine breite Palette von Formen, um Diagramme in verschiedenen Bereichen zu erstellen. Die folgenden Schritte zeigen, wie Sie eine Form in Visio Diagramm einfügen.

Das folgende Codebeispiel zeigt, wie Sie mithilfe von C# eine Form im Visio Diagramm hinzufügen.

// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = RunExamples.GetDataDir_Shapes();

// Laden Sie ein Diagramm
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// Seite nach Namen abrufen
Page page = diagram.Pages.GetPage("Page-2");

// Master mit Schablonendateipfad und Mastername hinzufügen
string masterName = "Rectangle";
diagram.AddMaster(dataDir + "Basic Shapes.vss", masterName);
            
// Die Seitenindizierung beginnt bei 0
int PageIndex = 1;
double width = 2, height = 2, pinX = 4.25, pinY = 4.5;
// Fügen Sie eine neue rechteckige Form hinzu
long rectangleId = diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex);
            
// Formeigenschaften festlegen 
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.");

Weitere Einzelheiten finden Sie unter Arbeiten mit Formen.

Hinzufügen einer Textform auf der Visio-Seite in C#

In verschiedenen Fällen müssen Sie den Visio Diagrammen auch Text hinzufügen. Dazu können Sie die folgenden Schritte ausführen.

Das folgende Codebeispiel zeigt, wie Sie Text in einem VSDX Diagramm mit C# hinzufügen.

// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = RunExamples.GetDataDir_ShapeText();

// Erstellen Sie ein neues Diagramm
Diagram diagram = new Diagram();
// Legen Sie Parameter fest und fügen Sie einer Visio-Seite Text hinzu
double PinX = 1, PinY = 1, Width = 1, Height = 1;                  
diagram.Pages[0].AddText(PinX, PinY, Width, Height, "Test text");
// Diagramm speichern 
diagram.Save(dataDir + "InsertTextShape_out.vsdx", SaveFileFormat.VSDX);

Weitere Einzelheiten finden Sie unter Arbeiten mit Text.

Fazit

In diesem Beitrag haben Sie einige grundlegende Funktionen von Aspose.Diagram for .NET kennengelernt, um Visio VSDX Diagramme von Grund auf neu zu erstellen. Die Codebeispiele haben gezeigt, wie Master, Seiten, Formen und Text in VSDX Diagrammen mit C# hinzugefügt werden. Weitere Informationen zur API finden Sie in der Dokumentation.

Siehe auch