Em certos casos, pode ser necessário ler dados de formas de diagramas do Visio. Isso é geralmente útil quando os diagramas contêm metadados. Você pode extrair essas informações em Java sem o Microsoft Visio ou Office Interop. É ideal para relatórios, verificações de dados ou ferramentas de automação. Neste post, mostraremos como ler dados de formas usando Java de uma maneira clara e simples.
Biblioteca Java Visio para Ler Dados de Forma
Neste artigo, nós usaremos Aspose.Diagram for Java para ler dados de forma dos arquivos Visio. A API oferece acesso total a formas, páginas e propriedades personalizadas. Funciona com VSDX, VSD e outros formatos.
Você pode usar esta biblioteca em qualquer projeto Java. É fácil de configurar e suporta grandes diagramas e processamento em lote. Se o seu aplicativo precisa trabalhar com arquivos do Visio, este SDK é uma ótima ferramenta.
Por favor, baixe a biblioteca da releases e adicione o JAR ao seu projeto ou instale via Maven:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-diagram</artifactId>
<version>25.7</version>
</dependency>
Como Ler Dados de Forma do Visio em Java
Siga estes passos para ler dados de forma de um arquivo Visio:
- Carregue o arquivo usando a classe
Diagram
. - Obtenha uma página do diagrama.
- Percorra as formas na página.
- Imprimir ID e nome da forma.
Aqui está um trecho de código Java que demonstra como ler dados de forma Visio em Java:
// Carregar o arquivo do Visio
Diagram diagram = new Diagram("Drawing1.vsdx");
// get pages count
System.out.println("Total Pages:" + diagram.getPages().getCount());
// Acesse a primeira página
Page page = diagram.getPages().get(0);
// Iterar através de formas
for (Shape shape : (Iterable<Shape>) page.getShapes()) {
System.out.println("Shape ID: " + shape.getID());
System.out.println("Name: " + shape.getName());
}
Total Pages: 1
Shape ID: 1
Name: Square
Shape ID: 2
Name: Rectangle
Shape ID: 3
Name: Dynamic connector
Leia uma Propriedade de Forma pelo Nome
Você pode ler a propriedade de uma forma pelo seu nome. Basta seguir estas etapas:
- Load the diagram file.
- Access a page.
- Find the shape by name.
- Use
Props
para ler as propriedades.
Aqui está o exemplo de código Java que demonstra como ler uma propriedade de forma usando seu nome:
// Carregue o arquivo do Visio
Diagram diagram = new Diagram("Drawing1.vsdx");
// Acesse a primeira página
Page page = diagram.getPages().get(0);
// Iterar através de formas
for (Shape shape : (Iterable<Shape>) page.getShapes()) {
// Leia a propriedade da forma pelo nome
if ("Process".equals(shape.getName())) {
for (Prop prop : (Iterable<Prop>) shape.getProps()) {
System.out.println("Property Name: " + prop.getLabel().getValue());
System.out.println("Value: " + prop.getValue().getVal());
}
}
}
Leia InheritProps de Shape em Java
Você também pode obter propriedades de forma herdadas seguindo os passos abaixo:
- Abra o arquivo do Visio.
- Obtenha uma página e percorra as formas.
- Use
InheritProps
para ler valores herdados.
O seguinte exemplo de código Java mostra como ler InheritProps de formas do Visio em Java:
// Carregue o arquivo Visio
Diagram diagram = new Diagram("Drawing1.vsdx");
// Acesse a primeira página
Page page = diagram.getPages().get(0);
// Iterar através de formas InheritProps
for (Shape shape : (Iterable<Shape>) page.getShapes()) {
for (Prop prop : (Iterable<Prop>) shape.getInheritProps()) {
System.out.println("Inherited Name: " + prop.getLabel().getValue());
System.out.println("Value: " + prop.getValue().getVal());
}
}
Obtenha uma Licença Gratuita
Você quer experimentar o Aspose.Diagram sem limites? Você pode obter uma licença temporária gratuita e testar todos os recursos da biblioteca.
Abrir e Ler Forma Visio: Recursos Gratuitos
Explore esses recursos gratuitos para aprender mais:
Conclusão
Neste artigo, você aprendeu como ler dados de forma do Visio em Java usando Aspose.Diagram. Você viu como carregar arquivos, extrair propriedades de forma e ler dados herdados. Com esta poderosa API, você pode construir aplicativos Java que processam arquivos do Visio com facilidade.
Se você precisar de ajuda, fique à vontade para entrar em contato através do nosso free support forum.