Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

Nuget Nuget GitHub

.NET API for Microsoft Visio® File Formats

Aspose.Diagram for .NET API is a solution for Microsoft Visio file manipulation requirements. It allows the .NET applications to read, write, export and process Microsoft Visio diagrams while supporting all Visio objects & properties including shapes, pages, images, shape masters, stencils, text, layers, header, footers, user-defined cells, hyperlinks, file protection, geometries, text boxes, and comments.

Aspose.Diagram for .NET can also be used to apply protection to the Microsoft Visio drawings by locking backgrounds, stencils (master) as well as shapes and styles to avoid any accidental amendments.

Directory Description
Demos Source code for the live demos hosted at
Examples A collection of .NET examples that help you learn the product features.
Plugins Visual Studio Plugins related to Aspose.Diagram for .NET.

Visio File Processing via .NET

  • Create Microsoft Visio diagrams from scratch via API.
  • Read or write Microsoft Visio drawings.
  • Export Visio diagrams to various popular formats including PDF, images, HTML and more.
  • Print Visio diagrams on physical or virtual printer.
  • Access Visio diagram properties for manipulation or just inspection.
  • Protect Visio diagrams via applying locks on various levels.
  • Manipulate the embedded OLE objects in the Visio diagrams.

Read & Write Visio Formats


Save Visio Diagrams As

Fixed Layout: PDF, XPS
Other: XAML, SWF

Read Visio Files

Microsoft Visio: VDW, VSD, VSS, VST

Platform Independence

You can use Aspose.Diagram for .NET to build any type of a 32-bit or 64-bit .NET application including ASP.NET, WCF, WinForms, UWP, .NET Standard, .NET Core etc. You can also use Aspose.Diagram for .NET to build applications with Mono.

Get Started with Aspose.Diagram for .NET

Are you ready to give Aspose.Diagram for .NET a try? Simply execute Install-Package Aspose.Diagram from Package Manager Console in Visual Studio to fetch the NuGet package. If you already have Aspose.Diagram for .NET and want to upgrade the version, please execute Update-Package Aspose.Diagram to get the latest version.

Load a VSS Template to Create a Visio Diagram

// create a new diagram
var diagram = new Diagram(dataDir + "template.vss");
// add a new rectangle shape
long shapeId = diagram.AddShape(4.25, 5.5, 2, 1, @"Rectangle", 0);
var shape = diagram.Pages[0].Shapes.GetShape(shapeId);
shape.Text.Value.Add(new Txt(@"Rectangle text."));
// add a new hexagon shape
shapeId = diagram.AddShape(7.0, 5.5, 2, 2, @"Hexagon", 0);
shape = diagram.Pages[0].Shapes.GetShape(shapeId);
shape.Text.Value.Add(new Txt(@"Hexagon text."));
// save the diagram in VDX format
diagram.Save(dir + "output.vdx", SaveFileFormat.VDX);

Retrieve Layers of a Visio VSDX Diagram

// load source Visio diagram
var diagram = new Diagram(dataDir + "Drawing1.vsdx");
// get diagram page
var page = diagram.Pages.GetPage("Page-1");
// iterate through the layers and print properties
foreach (Layer layer in page.PageSheet.Layers)
    Console.WriteLine("Name: " + layer.Name.Value);
    Console.WriteLine("Visibility: " + layer.Visible.Value);
    Console.WriteLine("Status: " + layer.Status.Value);

Home | Product Page | Docs | Demos | API Reference | Examples | Blog | Search | Free Support | Temporary License