MS Visio es una aplicación popular que le permite crear una amplia gama de diagramas, como diagramas de flujo, diagramas de flujo de datos, modelos de procesos comerciales, etc. VSDX es el formato de archivo que usa MS Visio para almacenar los diagramas Para automatizar la manipulación de VSDX, este artículo le proporciona un tutorial básico sobre cómo crear diagramas de Visio desde cero en C#. Además, cubre cómo insertar páginas, formas y texto en los diagramas VSDX desde aplicaciones .NET.
- C# API de Visio - Descarga gratuita
- Crear diagrama de MS Visio usando C#
- Agregar maestro al diagrama VSDX en C#
- Insertar páginas en un diagrama de Visio en C#
- Crear una forma en un diagrama de Visio en C#
- Agregar una forma de texto en la página de Visio en C#
C# API de Visio - Descarga gratuita
Aspose.Diagram for .NET es una API rica en funciones que le permite crear, editar, convertir y procesar diagramas de MS Visio desde sus aplicaciones .NET. La API le facilita la manipulación de los diagramas VSDX con propiedades y métodos fáciles de usar. Puede descargar la DLL de la API o instalarla dentro de sus aplicaciones .NET usando NuGet.
Install-Package Aspose.Diagram
Crear diagrama Visio VSDX usando C#
En primer lugar, creemos un diagrama VSDX vacío desde cero. Los siguientes son los pasos para hacerlo:
- Cree una instancia de la clase Diagram.
- Utilice el método Diagram.Save(Sring fileName, SaveFileFormat.VSDX) para guardar el archivo como VSDX.
El siguiente ejemplo de código muestra cómo crear un diagrama Visio VSDX en C#.
// Para obtener ejemplos completos y archivos de datos, vaya a https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_Diagrams();
// Crear directorio si aún no está presente.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Inicializar un nuevo Visio
Diagram diagram = new Diagram();
dataDir = dataDir + "CreateDiagram_out.vsdx";
// Guardar en formato VSDX
diagram.Save(dataDir, SaveFileFormat.VSDX);
Agregar maestro al diagrama de Visio en C#
Maestro se usa para agregar la plantilla que contiene una colección de formas para usar en diagramas. Si desea agregar el maestro, necesita un archivo de plantilla VSS y una ID maestra. Los siguientes son los pasos para agregar un maestro al diagrama de Visio usando Aspose.Diagram.
- Cree un nuevo diagrama o cargue uno existente usando la clase Diagram.
- Agregue el maestro usando el método Diagram.AddMaster(String fileName, Int masterID).
- Agregue una forma del patrón al diagrama usando el método Diagram.AddShape(Double, Double, String, Int).
- Guarde el diagrama usando el método Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
El siguiente ejemplo de código muestra cómo agregar un maestro al diagrama de Visio mediante C#.
// Para obtener ejemplos completos y archivos de datos, vaya a https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_Master();
// Diagrama de carga
Diagram diagram = new Diagram();
// Cargar plantilla en un flujo
string templateFileName = dataDir + "NetApp-FAS-series.vss";
Stream stream = new FileStream(templateFileName, FileMode.Open);
// Agregue maestro con la ruta del archivo de plantilla y la identificación maestra
string masterName = "FAS80xx rear empty";
diagram.AddMaster(templateFileName, 2);
// Agregue el maestro con la ruta del archivo de plantilla y el nombre del maestro
diagram.AddMaster(templateFileName, masterName);
// Agregue maestro con flujo de archivo de plantilla e identificación maestra
diagram.AddMaster(stream, 2);
// Agrega maestro al diagrama desde el diagrama de origen
Diagram src = new Diagram(templateFileName);
diagram.AddMaster(src, masterName);
// Agregue maestro con flujo de archivo de plantilla e identificación maestra
diagram.AddMaster(stream, masterName);
// Agrega forma con PinX y PinY definidos.
diagram.AddShape(2.0, 2.0, masterName, 0);
diagram.AddShape(6.0, 6.0, masterName, 0);
// Agrega forma con PinX, PinY, ancho y alto definidos.
diagram.AddShape(7.0, 3.0, 1.5, 1.5, masterName, 0);
Para obtener más detalles, visite trabajando con el maestro.
Insertar páginas en un diagrama de Visio en C#
Los diagramas de MS Visio constan de una o más páginas y cada página contiene los diagramas. Por lo tanto, antes de agregar una forma, debe agregar una página siguiendo los siguientes pasos.
- Cree un nuevo diagrama o cargue uno existente usando la clase Diagram.
- Compruebe si el diagrama ya contiene una página utilizando la propiedad Diagram.Pages.Count.
- Si es así, obtenga el ID de la última página mediante la propiedad Diagram.Pages[index].ID.
- Cree una nueva página usando la clase Página y establezca su nombre e ID.
- Agregue una página al diagrama utilizando el método Diagram.Pages.Add(Page).
- Guarde el diagrama VSDX usando el método Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
El siguiente ejemplo de código muestra cómo agregar una página en el diagrama de Visio VSDX mediante C#.
// Para obtener ejemplos completos y archivos de datos, vaya a https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_VisioPages();
// Diagrama de carga
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// Calcula la identificación máxima de la página
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;
}
// Establecer ID de página máxima
int MaxPageId = max;
// Inicializar un nuevo objeto de página
Page newPage = new Page();
// Escoger un nombre
newPage.Name = "new page";
// Establecer ID de página
newPage.ID = MaxPageId + 1;
// O prueba el constructor de página
// Página newPage = nueva página (MaxPageId + 1);
// Agregar una nueva página en blanco
diagram.Pages.Add(newPage);
// Guardar diagrama
diagram.Save(dataDir + "InsertBlankPage_out.vsdx", SaveFileFormat.VSDX);
Para obtener más detalles, visite trabajar con páginas.
Crear una forma en el diagrama de Visio usando C#
Las formas son los componentes básicos de los diagramas de Visio. MS Visio admite una amplia gama de formas para crear diagramas en varios dominios. Los siguientes pasos muestran cómo insertar una forma en Visio Diagram.
- Cree un nuevo diagrama o cargue uno existente usando la clase Diagram.
- Cree una página u obtenga la página deseada en un objeto de página.
- Agregue maestro al diagrama usando el método Diagram.AddMaster(String fileName, Int masterID).
- Agrega una nueva forma rectangular usando el método Diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex).
- Almacene el ID de forma devuelto por el método Diagram.AddShape().
- Recupere la forma recién agregada en el objeto Shape usando el método Page.Shapes.GetShape(long ID).
- Establezca las propiedades de la forma, como texto, color, etc.
- Guarde el diagrama VSDX usando el método Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
El siguiente ejemplo de código muestra cómo agregar una forma en el diagrama de Visio mediante C#.
// Para obtener ejemplos completos y archivos de datos, vaya a https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_Shapes();
// Cargar un diagrama
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// Obtener página por nombre
Page page = diagram.Pages.GetPage("Page-2");
// Agregue el maestro con la ruta del archivo de plantilla y el nombre del maestro
string masterName = "Rectangle";
diagram.AddMaster(dataDir + "Basic Shapes.vss", masterName);
// La indexación de páginas comienza desde 0
int PageIndex = 1;
double width = 2, height = 2, pinX = 4.25, pinY = 4.5;
// Agregar una nueva forma de rectángulo
long rectangleId = diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex);
// Establecer propiedades de 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.");
Para obtener más detalles, visite trabajar con formas.
Agregar una forma de texto en la página de Visio en C#
En varios casos, también debe agregar texto a los diagramas de Visio. Para esto, puede seguir los pasos a continuación.
- Cree un nuevo diagrama o cargue uno existente usando la clase Diagram.
- Agregue texto a una página en particular usando el método Diagram.Pages[0].AddText(PinX, PinY, Width, Height, “Test text”).
- Guarde el diagrama VSDX usando el método Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
El siguiente ejemplo de código muestra cómo agregar texto en un diagrama VSDX mediante C#.
// Para obtener ejemplos completos y archivos de datos, vaya a https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_ShapeText();
// Crear un nuevo diagrama
Diagram diagram = new Diagram();
// Establecer parámetros y agregar texto a una página de Visio
double PinX = 1, PinY = 1, Width = 1, Height = 1;
diagram.Pages[0].AddText(PinX, PinY, Width, Height, "Test text");
// Guardar diagrama
diagram.Save(dataDir + "InsertTextShape_out.vsdx", SaveFileFormat.VSDX);
Para obtener más detalles, visite trabajando con texto.
Conclusión
En esta publicación, ha aprendido algunas características básicas de Aspose.Diagram for .NET para crear diagramas Visio VSDX desde cero. Los ejemplos de código han mostrado cómo agregar maestros, páginas, formas y texto en diagramas VSDX usando C#. Puede explorar más sobre la API usando la documentación.