MS Visio je oblíbená aplikace, která umožňuje vytvářet širokou škálu diagramů, jako jsou vývojové diagramy, diagramy toků dat, modely obchodních procesů atd. VSDX je formát souboru, který MS Visio používá k ukládání diagramy. Aby bylo možné automatizovat manipulaci s VSDX, tento článek poskytuje základní kurz, jak vytvořit diagramy Visio od začátku v C#. Dále popisuje, jak vkládat stránky, tvary a text do diagramů VSDX z aplikací .NET.

C# Visio API – ke stažení zdarma

Aspose.Diagram for .NET je rozhraní API s bohatými funkcemi, které umožňuje vytvářet, upravovat, převádět a zpracovávat diagramy MS Visio z aplikací .NET. Rozhraní API vám usnadňuje manipulaci s diagramy VSDX pomocí snadno použitelných vlastností a metod. Můžete si stáhnout DLL API nebo si ji nainstalovat do svých aplikací .NET pomocí NuGet.

Install-Package Aspose.Diagram

Vytvoření diagramu Visio VSDX pomocí C#

Nejprve si vytvořte prázdný VSDX diagram od začátku. Postupujte takto:

Následující ukázka kódu ukazuje, jak vytvořit diagram Visio VSDX v C#.

// Úplné příklady a datové soubory najdete na https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Cesta k adresáři dokumentů.
string dataDir = RunExamples.GetDataDir_Diagrams();

// Vytvořte adresář, pokud ještě není přítomen.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);
// Inicializujte nové Visio
Diagram diagram = new Diagram();
dataDir = dataDir + "CreateDiagram_out.vsdx";
// Uložte ve formátu VSDX
diagram.Save(dataDir, SaveFileFormat.VSDX);

Přidat Master do diagramu Visio v C#

Předloha se používá k přidání vzorníku, který obsahuje kolekci tvarů pro použití v diagramech. Pokud chcete přidat předlohu, potřebujete soubor vzorníku VSS a ID předlohy. Následují kroky k přidání předlohy do diagramu aplikace Visio pomocí Aspose.Diagram.

Následující ukázka kódu ukazuje, jak přidat předlohu do diagramu Visio pomocí jazyka C#.

// Úplné příklady a datové soubory najdete na https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Cesta k adresáři dokumentů.
string dataDir = RunExamples.GetDataDir_Master();

// Zátěžový diagram
Diagram diagram = new Diagram();

// Načíst vzorník do streamu
string templateFileName = dataDir + "NetApp-FAS-series.vss";
Stream stream = new FileStream(templateFileName, FileMode.Open);

// Přidejte předlohu s cestou k souboru vzorníku a ID předlohy
string masterName = "FAS80xx rear empty";
diagram.AddMaster(templateFileName, 2);

// Přidejte předlohu s cestou k souboru vzorníku a názvem předlohy
diagram.AddMaster(templateFileName, masterName);

// Přidejte předlohu pomocí streamu souboru vzorníku a ID předlohy
diagram.AddMaster(stream, 2);

// Přidá master do diagramu ze zdrojového diagramu
Diagram src = new Diagram(templateFileName);
diagram.AddMaster(src, masterName);

// Přidejte předlohu pomocí streamu souboru vzorníku a ID předlohy
diagram.AddMaster(stream, masterName);

// Přidá tvar pomocí definovaných PinX a PinY.
diagram.AddShape(2.0, 2.0, masterName, 0);
diagram.AddShape(6.0, 6.0, masterName, 0);

// Přidá tvar s definovanými PinX, PinY, Width a Height.
diagram.AddShape(7.0, 3.0, 1.5, 1.5, masterName, 0);

Další podrobnosti naleznete na working with master.

Vložení stránek do diagramu Visio v C#

Diagramy MS Visio se skládají z jedné nebo více stránek a každá stránka obsahuje diagramy. Proto před přidáním tvaru musíte přidat stránku pomocí následujících kroků.

Následující ukázka kódu ukazuje, jak přidat stránku do diagramu Visio VSDX pomocí C#.

// Úplné příklady a datové soubory najdete na https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Cesta k adresáři dokumentů.
string dataDir = RunExamples.GetDataDir_VisioPages();

// Zátěžový diagram
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");

// Vypočítá maximální ID stránky
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;
}

// Nastavte maximální ID stránky
int MaxPageId = max;

// Inicializujte nový objekt stránky
Page newPage = new Page();
// Nastavit název
newPage.Name = "new page";
// Nastavit ID stránky
newPage.ID = MaxPageId + 1;

// Nebo zkuste konstruktor stránky
// Stránka newPage = nová stránka(MaxPageId + 1);

// Přidejte novou prázdnou stránku
diagram.Pages.Add(newPage);

// Uložit diagram
diagram.Save(dataDir + "InsertBlankPage_out.vsdx", SaveFileFormat.VSDX);

Další podrobnosti naleznete na práce se stránkami.

Vytvoření tvaru v diagramu Visio pomocí C#

Obrazce jsou stavebními kameny diagramů aplikace Visio. MS Visio podporuje širokou škálu tvarů pro vytváření diagramů v různých doménách. Následující kroky ukazují, jak vložit obrazec do diagramu aplikace Visio.

Následující ukázka kódu ukazuje, jak přidat obrazec do diagramu aplikace Visio pomocí jazyka C#.

// Úplné příklady a datové soubory najdete na https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Cesta k adresáři dokumentů.
string dataDir = RunExamples.GetDataDir_Shapes();

// Načtěte diagram
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// Získejte stránku podle jména
Page page = diagram.Pages.GetPage("Page-2");

// Přidejte předlohu s cestou k souboru vzorníku a názvem předlohy
string masterName = "Rectangle";
diagram.AddMaster(dataDir + "Basic Shapes.vss", masterName);
            
// Indexování stránek začíná od 0
int PageIndex = 1;
double width = 2, height = 2, pinX = 4.25, pinY = 4.5;
// Přidejte nový tvar obdélníku
long rectangleId = diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex);
            
// Nastavte vlastnosti tvaru 
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.");

Další podrobnosti naleznete na práce s tvary.

Přidání tvaru textu na stránku Visio v C#

V různých případech je také nutné přidat text do diagramů aplikace Visio. K tomu můžete postupovat podle níže uvedených kroků.

Následující ukázka kódu ukazuje, jak přidat text do diagramu VSDX pomocí jazyka C#.

// Úplné příklady a datové soubory najdete na https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Cesta k adresáři dokumentů.
string dataDir = RunExamples.GetDataDir_ShapeText();

// Vytvořte nový diagram
Diagram diagram = new Diagram();
// Nastavte parametry a přidejte text na stránku Visio
double PinX = 1, PinY = 1, Width = 1, Height = 1;                  
diagram.Pages[0].AddText(PinX, PinY, Width, Height, "Test text");
// Uložit diagram 
diagram.Save(dataDir + "InsertTextShape_out.vsdx", SaveFileFormat.VSDX);

Další podrobnosti naleznete na práce s textem.

Závěr

V tomto příspěvku jste se naučili některé základní funkce Aspose.Diagram for .NET pro vytváření diagramů Visio VSDX od začátku. Ukázky kódu ukázaly, jak přidat předlohy, stránky, tvary a text do diagramů VSDX pomocí C#. Více o API můžete prozkoumat pomocí dokumentace.

Viz také