MS Visio är en populär applikation som låter dig skapa ett brett utbud av diagram som flödesscheman, dataflödesdiagram, affärsprocessmodeller och etc. VSDX är filformatet som MS Visio använder för att lagra diagrammen. För att automatisera VSDX-manipulation ger den här artikeln dig en grundläggande handledning om hur du skapar Visio-diagram från början i C#. Dessutom beskriver den hur man infogar sidor, former och text i VSDX-diagrammen inifrån .NET-applikationer.

C# Visio API - Gratis nedladdning

Aspose.Diagram for .NET är ett funktionsrikt API som låter dig skapa, redigera, konvertera och bearbeta MS Visio-diagram inifrån dina .NET-applikationer. API:et gör det lättare för dig att manipulera VSDX-diagrammen med lättanvända egenskaper och metoder. Du kan antingen ladda ner API:s DLL eller få den installerad i dina .NET-applikationer med NuGet.

Install-Package Aspose.Diagram

Skapa Visio VSDX-diagram med C#

Först och främst, låt oss skapa ett tomt VSDX-diagram från början. Följande är stegen för att göra det:

Följande kodexempel visar hur man skapar Visio VSDX-diagram i C#.

// För fullständiga exempel och datafiler, gå till https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Sökvägen till dokumentkatalogen.
string dataDir = RunExamples.GetDataDir_Diagrams();

// Skapa katalog om den inte redan finns.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);
// Initiera en ny Visio
Diagram diagram = new Diagram();
dataDir = dataDir + "CreateDiagram_out.vsdx";
// Spara i VSDX-format
diagram.Save(dataDir, SaveFileFormat.VSDX);

Lägg till Master till Visio Diagram i C#

Master används för att lägga till stencilen som innehåller en samling former som ska användas i diagram. Om du vill lägga till mastern behöver du en VSS-stencilfil och master-ID. Följande är stegen för att lägga till en master till Visio-diagrammet med Aspose.Diagram.

Följande kodexempel visar hur man lägger till en master till Visio-diagrammet med C#.

// För fullständiga exempel och datafiler, gå till https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Sökvägen till dokumentkatalogen.
string dataDir = RunExamples.GetDataDir_Master();

// Lastdiagram
Diagram diagram = new Diagram();

// Ladda stencil till en ström
string templateFileName = dataDir + "NetApp-FAS-series.vss";
Stream stream = new FileStream(templateFileName, FileMode.Open);

// Lägg till master med stencilfilsökväg och master-id
string masterName = "FAS80xx rear empty";
diagram.AddMaster(templateFileName, 2);

// Lägg till master med stencilfilsökväg och masternamn
diagram.AddMaster(templateFileName, masterName);

// Lägg till master med stencilfilström och master-id
diagram.AddMaster(stream, 2);

// Lägger till master till diagram från källdiagram
Diagram src = new Diagram(templateFileName);
diagram.AddMaster(src, masterName);

// Lägg till master med stencilfilström och master-id
diagram.AddMaster(stream, masterName);

// Lägger till form med definierade PinX och PinY.
diagram.AddShape(2.0, 2.0, masterName, 0);
diagram.AddShape(6.0, 6.0, masterName, 0);

// Lägger till form med definierade PinX, PinY, Width och Height.
diagram.AddShape(7.0, 3.0, 1.5, 1.5, masterName, 0);

För mer information, besök working with master.

Infoga sidor i ett Visio-diagram i C#

MS Visio-diagram består av en eller flera sidor och varje sida innehåller diagrammen. Innan du lägger till en form måste du därför lägga till en sida med följande steg.

Följande kodexempel visar hur man lägger till en sida i Visio VSDX-diagram med C#.

// För fullständiga exempel och datafiler, gå till https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Sökvägen till dokumentkatalogen.
string dataDir = RunExamples.GetDataDir_VisioPages();

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

// Den beräknar max sid-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;
}

// Ställ in max sid-ID
int MaxPageId = max;

// Initiera ett nytt sidobjekt
Page newPage = new Page();
// Ange namn
newPage.Name = "new page";
// Ställ in sid-ID
newPage.ID = MaxPageId + 1;

// Eller prova sidkonstruktorn
// Page newPage = new Page(MaxPageId + 1);

// Lägg till en ny tom sida
diagram.Pages.Add(newPage);

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

För mer information, besök arbeta med sidor.

Skapa en form i Visio-diagram med C#

Former är byggstenarna i Visio-diagrammen. MS Visio stöder ett brett utbud av former för att skapa diagram i olika domäner. Följande steg visar hur man infogar en form i Visio Diagram.

Följande kodexempel visar hur man lägger till en form i Visio-diagrammet med C#.

// För fullständiga exempel och datafiler, gå till https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Sökvägen till dokumentkatalogen.
string dataDir = RunExamples.GetDataDir_Shapes();

// Ladda ett diagram
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// Få sida med namn
Page page = diagram.Pages.GetPage("Page-2");

// Lägg till master med stencilfilsökväg och masternamn
string masterName = "Rectangle";
diagram.AddMaster(dataDir + "Basic Shapes.vss", masterName);
            
// Sidindexering börjar från 0
int PageIndex = 1;
double width = 2, height = 2, pinX = 4.25, pinY = 4.5;
// Lägg till en ny rektangelform
long rectangleId = diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex);
            
// Ställ in formegenskaper 
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.");

För mer information, besök arbeta med former.

Lägg till en textform på Visio-sidan i C#

I olika fall behöver du även lägga till text i Visio-diagrammen. För detta kan du följa stegen nedan.

Följande kodexempel visar hur man lägger till text i ett VSDX-diagram med C#.

// För fullständiga exempel och datafiler, gå till https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Sökvägen till dokumentkatalogen.
string dataDir = RunExamples.GetDataDir_ShapeText();

// Skapa ett nytt diagram
Diagram diagram = new Diagram();
// Ställ in parametrar och lägg till text på en Visio-sida
double PinX = 1, PinY = 1, Width = 1, Height = 1;                  
diagram.Pages[0].AddText(PinX, PinY, Width, Height, "Test text");
// Spara diagram 
diagram.Save(dataDir + "InsertTextShape_out.vsdx", SaveFileFormat.VSDX);

För mer information, besök arbeta med text.

Slutsats

I det här inlägget har du lärt dig några grundläggande funktioner i Aspose.Diagram för .NET för att skapa Visio VSDX-diagram från grunden. Kodexemplen har visat hur man lägger till masters, sidor, former och text i VSDX-diagram med C#. Du kan utforska mer om API:t med hjälp av dokumentationen.

Se även