Criar Diagrama Visio em C#
Microsoft Visio é uma ferramenta amplamente utilizada para projetar fluxogramas, organogramas, diagramas de rede, fluxos de processo e outros tipos de visuais técnicos ou de negócios que necessitam de formas e conexões precisas. Para muitas equipes e cenários de automação, desenhar diagramas manualmente não é prático quando os diagramas devem ser gerados para muitos registros, criados sob demanda ou incorporados dentro de pipelines de relatórios. A geração programática de diagramas resolve esses problemas ao permitir que os desenvolvedores produzam diagramas consistentes e repetíveis diretamente de fontes de dados ou lógica de negócios dentro de uma aplicação C#. O exemplo mostrado neste artigo demonstra como criar um diagrama Visio programaticamente em C#, adicionar uma forma de retângulo de um estêncil mestre, posicioná-la e dimensioná-la, definir texto e estilo, e salvar o resultado como um arquivo VSDX. O código está pronto para ser
A automação da criação de diagramas é útil em muitos contextos do mundo real onde os diagramas precisam ser produzidos de forma confiável e repetida. Por exemplo, você pode gerar diagramas de arquitetura para cada ambiente de implantação, criar mapas de rede para painéis de monitoramento ou construir organogramas padronizados a partir de dados de RH. A geração programática garante que as regras de layout sejam aplicadas de forma consistente, que as formas sigam as mesmas diretrizes de estilo e que os arquivos de saída sejam produzidos sem intervenção manual. As seções a seguir detalham a razão, uma abordagem passo a passo, um trecho completo de código C# que você pode copiar e colar, e uma FAQ detalhada para cobrir preocupações comuns e próximos passos ao integrar a geração de diagramas em suas aplicações.
Por que criar diagramas do Visio programaticamente?
- Torne a geração de diagramas em massa ou sob demanda confiável e repetível, de modo que os diagramas sejam produzidos de forma consistente em muitos registros ou execuções, economizando tempo de desenho manual e eliminando a variação de layout humana.
- Integre a geração de diagramas em fluxos de trabalho automatizados, como relatórios, pipelines de documentação ou entrega contínua, para que os visuais estejam sempre atualizados com os dados subjacentes sem qualquer edição manual.
- Imponha diretrizes de estilo corporativo ou de projeto programaticamente para garantir que formas, fontes e cores sejam consistentes em todos os diagramas e reduzir a necessidade de revisão manual e retrabalho.
- Produza diagramas em múltiplos formatos e incorpore-os em outros documentos ou sistemas, permitindo distribuição entre plataformas e consumo mais fácil por partes interessadas.
- Produza diagramas em escala para centenas ou milhares de itens em cenários como a geração de diagramas individuais por cliente, por local ou por implementação, onde a edição manual seria inviável.
Criar Diagrama Visio VSDX em C#
- Prepare seu projeto adicionando a biblioteca de diagramas às referências do projeto, para que você tenha acesso às classes de diagrama e forma.
- Inicialize um novo objeto de diagrama que serve como a tela para manter páginas, mestres, formas e estilos.
- Adicione ou carregue um estêncil mestre que contenha os modelos de forma que você deseja usar, por exemplo, um mestre retângulo de um estêncil de formas básicas.
- Defina as dimensões e coordenadas para cada forma que você deseja colocar, para que as posições e tamanhos sejam determinísticos e possam ser calculados a partir de dados ou regras de layout.
- Adicione formas ao diagrama referenciando o modelo mestre e os valores de posição e tamanho calculados, em seguida, capture o id da forma retornada se você quiser modificar ainda mais a forma.
- Recupere a instância da forma quando você precisar mudar suas propriedades, como localização, texto, estilo ou tipo, e aplique as mudanças programaticamente.
- Salve o diagrama final no formato desejado, tipicamente VSDX para compatibilidade com Visio, ou exporte para imagens ou outros formatos suportados para incorporação em documentos.
// Create a new instance of a diagram
Aspose.Diagram.Diagram diagram = new Aspose.Diagram.Diagram();
// Define the name of the master (template) to be used for creating shapes
string masterName = "Rectangle";
diagram.AddMaster("Basic Shapes.vss", masterName);
// Define the dimensions and position for the new shape
double width = 2, height = 2, pinX = 4.25, pinY = 4.5;
// Add a new rectangle shape to the diagram using the specified master
long rectangleId = diagram.AddShape(pinX, pinY, width, height, masterName, 0);
// Retrieve the shape by its ID for modification
Aspose.Diagram.Shape rectangle = diagram.Pages[0].Shapes.GetShape(rectangleId);
// Set the position of the shape by modifying its PinX and PinY properties
rectangle.XForm.PinX.Value = 5;
rectangle.XForm.PinY.Value = 5;
// Set the type of the shape to indicate it is a standard shape
rectangle.Type = Aspose.Diagram.TypeValue.Shape;
// Add text to the shape
rectangle.Text.Value.Add(new Aspose.Diagram.Txt("Aspose Diagram"));
// Apply a predefined text style to the shape's text
rectangle.TextStyle = diagram.StyleSheets[3];
// Save the modified diagram to a file
diagram.Save("Visio_out.vsdx", Aspose.Diagram.SaveFileFormat.Vsdx);
Este trecho demonstra um fluxo completo desde a criação de uma nova instância de diagrama até o salvamento do resultado como um arquivo VSDX. O código primeiro registra uma forma mestre a partir de um arquivo de estêncil, depois adiciona um retângulo usando coordenadas e tamanhos explícitos. Após adicionar a forma, o código recupera a instância para ajustar sua posição e tipo, inserir conteúdo de texto e aplicar um estilo existente da coleção de folhas de estilo do diagrama. Finalmente, o diagrama é salvo no disco. Você pode adaptar este trecho para adicionar múltiplas formas, criar conectores entre formas, gerar múltiplas páginas ou aplicar estilização dinâmica com base em dados.
Conclusão
Criar diagramas do Visio programaticamente em C# é uma abordagem prática e poderosa para automatizar documentação visual, padronizar a estética dos diagramas e integrar a saída dos diagramas em sistemas de relatório ou documentação empresarial. Seguindo os passos e o exemplo fornecido, você pode começar rapidamente e, em seguida, expandir a abordagem para gerar diagramas complexos, conectores e documentos de várias páginas impulsionados diretamente a partir de fontes de dados. Se você precisar de diagramas de arquitetura automatizados, organogramas, topologias de rede ou fluxos de processos, a geração programática de diagramas torna o processo mais rápido, mais consistente e menos propenso a erros, liberando designers e engenheiros para se concentrarem em decisões de nível superior, em vez de tarefas repetitivas de desenho.