Creare un diagramma Visio direttamente dal codice Java può semplificare i flussi di lavoro della documentazione ed eliminare lo sforzo di disegno manuale. Conholdate.Total for Java fornisce un SDK robusto che consente di generare file Visio in modo programmatico. In questa guida creeremo un diagramma Visio in Java, aggiungeremo una forma da un modello master, la posizioneremo e applicheremo lo stile del testo. Alla fine avrai un file VSDX pronto‑per‑aprire che potrà essere ulteriormente modificato in Microsoft Visio.
Requisiti per la creazione del diagramma Visio
Le aziende spesso hanno bisogno di produrre schemi tecnici, diagrammi di flusso o diagrammi di rete automaticamente a partire da fonti di dati. Gli sviluppatori Java che creano dashboard di reporting, strumenti di configurazione o pipeline CI si trovano frequentemente di fronte alla necessità di generare file Visio senza intervento manuale. La soluzione deve supportare la creazione di forme basate su master, il posizionamento preciso e lo stile del testo che corrisponda ai modelli Visio esistenti. Il disegno manuale in Visio è dispendioso in termini di tempo e soggetto a errori, soprattutto quando i diagrammi devono essere rigenerati ad ogni build.
L’approccio: generazione di diagrammi Visio con Conholdate.Total
Conholdate.Total for Java offre un’API diagram dedicata che funziona con il formato VSDX. Consente di caricare stencil master, aggiungere forme da questi master, riposizionare le forme tramite le loro proprietà XForm, allegare testo e applicare stili di testo predefiniti, il tutto tramite semplici chiamate Java. La documentazione per le classi diagram è disponibile nella documentazione ufficiale, e il riferimento completo dell’API può essere esplorato nella riferimento API. Utilizzando questa libreria è possibile automatizzare l’intero flusso di creazione di Visio su un server o ambiente desktop.
Costruire la soluzione: Creare diagramma Visio in Java
I passaggi seguenti ti guidano attraverso l’intero processo, dalla configurazione di Maven al salvataggio del file VSDX finale.
Aggiungi dipendenza Maven e importa classi
Per prima cosa, configura il repository Maven di Conholdate e aggiungi la dipendenza SDK al tuo 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>
Le classi diagram utilizzate in questo tutorial si trovano nel pacchetto com.aspose.diagram, che è fornito come parte del bundle Conholdate.Total for Java:
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;
Inizializza il Diagramma e Carica una Forma Master
Crea una nuova istanza di Diagram, quindi carica un file stencil e scegli il master su cui vuoi basare la tua forma. Qui utilizziamo il master incorporato “Rectangle” dallo 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);
Aggiungi una Forma dal Master e Imposta la Sua Posizione
Aggiungi una forma al diagramma utilizzando il master, quindi cerca la forma per l’ID restituito da addShape in modo da poter regolare la sua posizione.
// 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);
Aggiungi testo e applica uno stile di testo
Allega un blocco di testo alla forma e applica uno dei fogli di stile predefiniti del diagramma in modo che l’etichetta corrisponda al resto del 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));
Salva il diagramma in VSDX
Infine, scrivi il diagramma in un file VSDX che può essere aperto in Microsoft Visio.
diagram.save("Visio_out.vsdx", SaveFileFormat.VSDX);
Crea diagramma Visio in Java - Esempio completo funzionante - Codice completo
Il codice seguente dimostra l’intero flusso di lavoro dall’inizio alla fine.
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: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare tutti i percorsi dei file e i valori di configurazione per corrispondere al tuo ambiente reale, verifica che tutte le dipendenze richieste siano installate correttamente e testa accuratamente nel tuo ambiente di sviluppo. Se incontri problemi, fai riferimento alla documentazione ufficiale o contatta il team di supporto per assistenza.
Considerazioni di distribuzione per i progetti di diagrammi Visio
Il SDK funziona su qualsiasi runtime Java 8+, rendendolo adatto per servizi backend, lavori batch o utility desktop. Quando si generano diagrammi di grandi dimensioni, monitorare l’utilizzo dell’heap e considerare il riutilizzo di una singola istanza Diagram per più pagine per ridurre l’overhead di memoria. È necessaria una licenza valida per la produzione; è possibile ottenere una licenza temporanea per i test dalla pagina della licenza temporanea e acquistare una licenza completa tramite la pagina dei prezzi. Assicurarsi che la directory di output sia scrivibile dal processo che esegue il codice.
Conclusione
Creare diagrammi Visio in Java in modo programmatico diventa semplice con Conholdate.Total for Java. Seguendo i passaggi sopra indicati, è possibile caricare uno stencil master, generare file VSDX, posizionare le forme con precisione e applicare uno stile di testo coerente. Ricorda di acquisire una licenza di produzione adeguata e di testare i diagrammi generati in Microsoft Visio per verificare la fedeltà del layout. Con l’SDK a disposizione, è possibile automatizzare la creazione di diagrammi in una vasta gamma di scenari aziendali.
FAQs
Come posso creare un diagramma Visio in Java usando un modello master?
Utilizza le classi diagramma fornite da Conholdate.Total for Java, carica uno stencil conaddMaster, aggiungi una forma da quel master conaddShapee salva il file come VSDX.Qual è il formato di file generato dall’SDK per i diagrammi Visio?
L’SDK produce il formato VSDX moderno, pienamente compatibile con Microsoft Visio.Devo avere una licenza per eseguire i file Visio generati in produzione?
Sì. Ottieni una licenza di produzione dalla pagina dei prezzi e puoi utilizzare una licenza temporanea durante lo sviluppo.Posso integrare questa generazione di diagrammi in un servizio web?
Assolutamente. L’SDK è una libreria Java pura, quindi è possibile chiamarla da qualsiasi backend basato su Java, come Spring Boot o Jakarta EE.
