MS Visio é um aplicativo popular que permite criar uma ampla variedade de diagramas, como fluxogramas, diagramas de fluxo de dados, modelos de processos de negócios e etc. VSDX é o formato de arquivo que o MS Visio usa para armazenar os diagramas. Para automatizar a manipulação do VSDX, este artigo fornece um tutorial básico de como criar diagramas do Visio do zero em C#. Além disso, aborda como inserir páginas, formas e texto nos diagramas VSDX a partir de aplicativos .NET.
- API C# Visio - Download grátis
- Criar diagrama do MS Visio usando C#
- Adicionar mestre ao diagrama VSDX em C#
- Inserir páginas em um diagrama do Visio em C#
- Criar uma forma em um diagrama do Visio em C#
- Adicionar uma forma de texto na página do Visio em C#
API C# Visio - Download grátis
Aspose.Diagram for .NET é uma API rica em recursos que permite criar, editar, converter e processar diagramas do MS Visio a partir de seus aplicativos .NET. A API facilita a manipulação dos diagramas VSDX com propriedades e métodos fáceis de usar. Você pode baixar DLL da API ou instalá-la em seus aplicativos .NET usando NuGet.
Install-Package Aspose.Diagram
Criar diagrama VSDX do Visio usando C#
Em primeiro lugar, vamos criar um diagrama VSDX vazio do zero. A seguir estão os passos para fazê-lo:
- Crie uma instância da classe Diagram.
- Use o método Diagram.Save(Sring fileName, SaveFileFormat.VSDX) para salvar o arquivo como VSDX.
O exemplo de código a seguir mostra como criar o diagrama VSDX do Visio em C#.
// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// O caminho para o diretório de documentos.
string dataDir = RunExamples.GetDataDir_Diagrams();
// Crie um diretório se ele ainda não estiver presente.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Inicializar um novo Visio
Diagram diagram = new Diagram();
dataDir = dataDir + "CreateDiagram_out.vsdx";
// Salvar no formato VSDX
diagram.Save(dataDir, SaveFileFormat.VSDX);
Adicionar mestre ao diagrama do Visio em C#
Master é usado para adicionar o estêncil que contém uma coleção de formas a serem usadas em diagramas. Se você quiser adicionar o mestre, precisará de um arquivo de estêncil VSS e um ID do mestre. A seguir estão as etapas para adicionar um mestre ao diagrama do Visio usando Aspose.Diagram.
- Crie um novo diagrama ou carregue um existente usando a classe Diagram.
- Adicione o mestre usando o método Diagram.AddMaster(String fileName, Int masterID).
- Adicione uma forma do mestre ao diagrama usando o método Diagram.AddShape(Double, Double, String, Int).
- Salve o diagrama usando o método Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
O exemplo de código a seguir mostra como adicionar um mestre ao diagrama do Visio usando C#.
// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// O caminho para o diretório de documentos.
string dataDir = RunExamples.GetDataDir_Master();
// Diagrama de carga
Diagram diagram = new Diagram();
// Carregar estêncil em um fluxo
string templateFileName = dataDir + "NetApp-FAS-series.vss";
Stream stream = new FileStream(templateFileName, FileMode.Open);
// Adicionar mestre com caminho de arquivo de estêncil e id mestre
string masterName = "FAS80xx rear empty";
diagram.AddMaster(templateFileName, 2);
// Adicionar mestre com caminho de arquivo de estêncil e nome mestre
diagram.AddMaster(templateFileName, masterName);
// Adicionar mestre com fluxo de arquivo de estêncil e ID mestre
diagram.AddMaster(stream, 2);
// Adiciona mestre ao diagrama do diagrama de origem
Diagram src = new Diagram(templateFileName);
diagram.AddMaster(src, masterName);
// Adicionar mestre com fluxo de arquivo de estêncil e ID mestre
diagram.AddMaster(stream, masterName);
// Adiciona forma com PinX e PinY definidos.
diagram.AddShape(2.0, 2.0, masterName, 0);
diagram.AddShape(6.0, 6.0, masterName, 0);
// Adiciona forma com PinX,PinY,Width e Height definidos.
diagram.AddShape(7.0, 3.0, 1.5, 1.5, masterName, 0);
Para mais detalhes, visite trabalhar com o mestre.
Inserir páginas em um diagrama do Visio em C#
Os diagramas do MS Visio consistem em uma ou mais páginas e cada página contém os diagramas. Portanto, antes de adicionar uma forma, você precisa adicionar uma página usando as etapas a seguir.
- Crie um novo diagrama ou carregue um existente usando a classe Diagram.
- Verifique se o diagrama já contém uma página usando a propriedade Diagram.Pages.Count.
- Se isso acontecer, obtenha o ID da última página usando a propriedade Diagram.Pages[index].ID.
- Crie uma nova página usando a classe Page e defina seu nome e ID.
- Adicione página ao diagrama usando o método Diagram.Pages.Add(Page).
- Salve o diagrama VSDX usando o método Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
O exemplo de código a seguir mostra como adicionar uma página no diagrama VSDX do Visio usando C#.
// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// O caminho para o diretório de documentos.
string dataDir = RunExamples.GetDataDir_VisioPages();
// Diagrama de carga
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// Calcula o id máximo da 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;
}
// Definir código máximo da página
int MaxPageId = max;
// Inicializar um novo objeto de página
Page newPage = new Page();
// Nome do conjunto
newPage.Name = "new page";
// Definir ID da página
newPage.ID = MaxPageId + 1;
// Ou tente o construtor Page
// Página novaPágina = nova Página(MaxPageId + 1);
// Adicionar uma nova página em branco
diagram.Pages.Add(newPage);
// Salvar diagrama
diagram.Save(dataDir + "InsertBlankPage_out.vsdx", SaveFileFormat.VSDX);
Para mais detalhes, visite trabalhar com páginas.
Criar uma forma no diagrama do Visio usando C#
As formas são os blocos de construção dos diagramas do Visio. O MS Visio oferece suporte a uma ampla variedade de formas para criar diagramas em vários domínios. As etapas a seguir mostram como inserir uma forma no diagrama do Visio.
- Crie um novo diagrama ou carregue um existente usando a classe Diagram.
- Crie uma página ou obtenha a página desejada em um objeto Page.
- Adicione mestre ao diagrama usando o método Diagram.AddMaster(String fileName, Int masterID).
- Adicione uma nova forma retangular usando o método Diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex).
- Armazene o ID da forma retornado pelo método Diagram.AddShape().
- Recupere a forma recém-adicionada no objeto Shape usando o método Page.Shapes.GetShape(long ID).
- Defina as propriedades da forma, como texto, cor, etc.
- Salve o diagrama VSDX usando o método Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
O exemplo de código a seguir mostra como adicionar uma forma no diagrama do Visio usando C#.
// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// O caminho para o diretório de documentos.
string dataDir = RunExamples.GetDataDir_Shapes();
// Carregar um diagrama
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// Obter página por nome
Page page = diagram.Pages.GetPage("Page-2");
// Adicionar mestre com caminho de arquivo de estêncil e nome mestre
string masterName = "Rectangle";
diagram.AddMaster(dataDir + "Basic Shapes.vss", masterName);
// A indexação da página começa em 0
int PageIndex = 1;
double width = 2, height = 2, pinX = 4.25, pinY = 4.5;
// Adicionar uma nova forma de retângulo
long rectangleId = diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex);
// Definir propriedades da 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 mais detalhes, visite trabalhar com formas.
Adicionar uma forma de texto na página do Visio em C#
Em vários casos, você também precisa adicionar texto aos diagramas do Visio. Para isso, você pode seguir os passos abaixo.
- Crie um novo diagrama ou carregue um existente usando a classe Diagram.
- Adicione texto a uma página específica usando o método Diagram.Pages[0].AddText(PinX, PinY, Width, Height, “Test text”).
- Salve o diagrama VSDX usando o método Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
O exemplo de código a seguir mostra como adicionar texto em um diagrama VSDX usando C#.
// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// O caminho para o diretório de documentos.
string dataDir = RunExamples.GetDataDir_ShapeText();
// Criar um novo diagrama
Diagram diagram = new Diagram();
// Definir parâmetros e adicionar texto a uma página do Visio
double PinX = 1, PinY = 1, Width = 1, Height = 1;
diagram.Pages[0].AddText(PinX, PinY, Width, Height, "Test text");
// Salvar diagrama
diagram.Save(dataDir + "InsertTextShape_out.vsdx", SaveFileFormat.VSDX);
Para mais detalhes, visite trabalhar com texto.
Conclusão
Neste post, você aprendeu alguns recursos básicos do Aspose.Diagram for .NET para criar diagramas VSDX do Visio do zero. Os exemplos de código mostraram como adicionar mestres, páginas, formas e texto em diagramas VSDX usando C#. Você pode explorar mais sobre a API usando a documentação.