Criar um diagrama Visio diretamente a partir de código Java pode simplificar fluxos de trabalho de documentação e eliminar o esforço de desenho manual. Conholdate.Total for Java fornece um SDK robusto que permite gerar arquivos Visio programaticamente. Neste guia, criaremos um Diagrama Visio em Java, adicionaremos uma forma de um modelo mestre, posicionaremos e aplicaremos estilo de texto. Ao final, você terá um arquivo VSDX pronto‑para‑abrir que pode ser editado posteriormente no Microsoft Visio.

Requisitos de Criação de Diagrama Visio

As empresas frequentemente precisam produzir esquemas técnicos, fluxogramas ou diagramas de rede automaticamente a partir de fontes de dados. Desenvolvedores Java que criam painéis de relatórios, ferramentas de configuração ou pipelines de CI frequentemente enfrentam a necessidade de gerar arquivos Visio sem intervenção manual. A solução deve suportar a criação de formas baseada em master, posicionamento preciso e estilo de texto que corresponda aos stencils Visio existentes. O desenho manual no Visio consome tempo e é propenso a erros, especialmente quando os diagramas precisam ser regenerados a cada compilação.

A Abordagem: Geração de Diagrama Visio com Conholdate.Total

Conholdate.Total for Java oferece uma API de diagramas dedicada que funciona com o formato VSDX. Ela permite carregar stencils mestre, adicionar formas desses mestres, reposicionar formas através de suas propriedades XForm, anexar texto e aplicar estilos de texto predefinidos, tudo por meio de chamadas simples em Java. A documentação das classes de diagramas está disponível na documentação oficial, e a referência completa da API pode ser explorada na referência da API. Usando esta biblioteca, você pode automatizar todo o pipeline de criação do Visio em um ambiente de servidor ou desktop.

Construindo a Solução: Criar Diagrama Visio em Java

As etapas a seguir orientam você por todo o processo, desde a configuração do Maven até a gravação do arquivo VSDX final.

Adicionar dependência Maven e importar classes

Primeiro, configure o repositório Maven da Conholdate e adicione a dependência do SDK ao seu pom.xml.

<repositories>
  <repository>
    <id>conholdate-repo</id>
    <name>Conholdate Maven Repository</name>
    <url>https://repository.conholdate.com/repo/</url>
  </repository>
</repositories>

<dependency>
  <groupId>com.conholdate</groupId>
  <artifactId>conholdate-total</artifactId>
  <version>24.9</version>
  <type>pom</type>
</dependency>

As classes de diagrama usadas neste tutorial estão no pacote com.aspose.diagram, que faz parte do Conholdate.Total for Java bundle:

import com.aspose.diagram.Diagram;
import com.aspose.diagram.Shape;
import com.aspose.diagram.TypeValue;
import com.aspose.diagram.Txt;
import com.aspose.diagram.SaveFileFormat;

Inicializar o Diagrama e Carregar uma Forma Mestre

Crie uma nova instância de Diagram, depois carregue um arquivo stencil e escolha o mestre que você deseja usar como base para sua forma. Aqui usamos o mestre incorporado “Rectangle” do stencil “Basic Shapes.vss”.

// Create a new instance of a diagram
Diagram diagram = new Diagram();

// Define the name of the master (template) to be used for creating shapes
String masterName = "Rectangle";
diagram.addMaster("Basic Shapes.vss", masterName);

Adicionar uma Forma do Mestre e Definir sua Posição

Adicione uma forma ao diagrama usando o mestre, depois procure a forma pelo ID que addShape retorna para que você possa ajustar sua posição.

// 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
Shape rectangle = diagram.getPages().get(0).getShapes().getShape(rectangleId);

// Set the position of the shape by modifying its PinX and PinY properties
rectangle.getXForm().getPinX().setValue(5);
rectangle.getXForm().getPinY().setValue(5);

// Set the type of the shape to indicate it is a standard shape
rectangle.setType(TypeValue.SHAPE);

Adicionar Texto e Aplicar um Estilo de Texto

Anexe um trecho de texto à forma e aplique uma das folhas de estilo predefinidas do diagrama para que o rótulo corresponda ao restante do documento.

// Add text to the shape
rectangle.getText().getValue().add(new Txt("Aspose Diagram"));

// Apply a predefined text style to the shape's text
rectangle.setTextStyle(diagram.getStyleSheets().get(3));

Salvar o Diagrama como VSDX

Finalmente, escreva o diagrama em um arquivo VSDX que pode ser aberto no Microsoft Visio.

diagram.save("Visio_out.vsdx", SaveFileFormat.VSDX);

Criar Diagrama Visio em Java - Exemplo Completo em Funcionamento - Código Completo

O código a seguir demonstra todo o fluxo de trabalho do início ao fim.

import com.aspose.diagram.Diagram;
import com.aspose.diagram.Shape;
import com.aspose.diagram.TypeValue;
import com.aspose.diagram.Txt;
import com.aspose.diagram.SaveFileFormat;

public class CreateVisioDiagram {
    public static void main(String[] args) {
        try {
            // Create a new instance of a diagram
            Diagram diagram = new 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
            Shape rectangle = diagram.getPages().get(0).getShapes().getShape(rectangleId);

// Set the position of the shape by modifying its PinX and PinY properties
            rectangle.getXForm().getPinX().setValue(5);
            rectangle.getXForm().getPinY().setValue(5);

// Set the type of the shape to indicate it is a standard shape
            rectangle.setType(TypeValue.SHAPE);

// Add text to the shape
            rectangle.getText().getValue().add(new Txt("Aspose Diagram"));

// Apply a predefined text style to the shape's text
            rectangle.setTextStyle(diagram.getStyleSheets().get(3));

// Save the modified diagram to a file
            diagram.save("Visio_out.vsdx", SaveFileFormat.VSDX);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Nota: Este exemplo de código demonstra a funcionalidade principal. Antes de usá‑lo em seu projeto, certifique‑se de atualizar quaisquer caminhos de arquivo e valores de configuração para corresponder ao seu ambiente real, verifique se todas as dependências necessárias estão devidamente instaladas e teste minuciosamente em seu ambiente de desenvolvimento. Se encontrar algum problema, consulte a documentação oficial ou entre em contato com a equipe de suporte para obter assistência.

Considerações de Implantação para Projetos de Diagramas Visio

O SDK funciona em qualquer runtime Java 8+, tornando‑o adequado para serviços de backend, trabalhos em lote ou utilitários de desktop. Ao gerar diagramas grandes, monitore o uso de heap e considere reutilizar uma única instância Diagram para várias páginas a fim de reduzir a sobrecarga de memória. Uma licença válida é necessária para produção; você pode obter uma licença temporária para testes na página de licença temporária e adquirir uma licença completa através da página de preços. Certifique-se de que o diretório de saída seja gravável pelo processo que executa o código.

Conclusão

Criar diagramas Visio programaticamente em Java torna‑se simples com Conholdate.Total for Java. Seguindo os passos acima, você pode carregar um estêncil mestre, gerar arquivos VSDX, posicionar formas com precisão e aplicar estilos de texto consistentes. Lembre‑se de adquirir uma licença de produção adequada e testar os diagramas gerados no Microsoft Visio para verificar a fidelidade do layout. Com o SDK configurado, você pode automatizar a criação de diagramas em uma ampla variedade de cenários corporativos.

Perguntas Frequentes

  • Como posso criar um Diagrama Visio em Java usando um modelo mestre?
    Use as classes de diagrama fornecidas por Conholdate.Total for Java, carregue um estêncil com addMaster, adicione uma forma desse mestre com addShape e salve o arquivo como VSDX.

  • Qual formato de arquivo o SDK gera para diagramas Visio?
    O SDK gera o formato VSDX moderno, que é totalmente compatível com o Microsoft Visio.

  • Preciso de uma licença para executar os arquivos Visio gerados em produção?
    Sim. Obtenha uma licença de produção na página de preços e você pode usar uma licença temporária durante o desenvolvimento.

  • Posso integrar a geração deste diagrama em um serviço web?
    Com certeza. O SDK é uma biblioteca Java pura, portanto você pode chamá‑la a partir de qualquer backend baseado em Java, como Spring Boot ou Jakarta EE.

Leia Mais