Ein Visio‑Diagramm direkt aus Java‑Code zu erstellen, kann Dokumentations‑Workflows rationalisieren und manuellen Zeichenaufwand eliminieren. Conholdate.Total for Java bietet ein robustes SDK, das es Ihnen ermöglicht, Visio‑Dateien programmgesteuert zu erzeugen. In diesem Leitfaden erstellen wir ein Visio‑Diagramm in Java, fügen eine Form aus einer Master‑Vorlage hinzu, positionieren sie und wenden Textformatierungen an. Am Ende haben Sie eine sofort‑öffnbare VSDX‑Datei, die in Microsoft Visio weiter bearbeitet werden kann.
Anforderungen für die Erstellung von Visio-Diagrammen
Unternehmen müssen häufig technische Schemata, Flussdiagramme oder Netzwerkdiagramme automatisch aus Datenquellen erzeugen. Java‑Entwickler, die Reporting‑Dashboards, Konfigurationstools oder CI‑Pipelines erstellen, stehen oft vor der Anforderung, Visio‑Dateien ohne manuelles Eingreifen zu generieren. Die Lösung muss die Erstellung von Formen auf Basis von Master‑Shapes, präzises Positionieren und Textformatierung unterstützen, die den vorhandenen Visio‑Stencils entspricht. Manuelles Zeichnen in Visio ist zeitaufwändig und fehleranfällig, insbesondere wenn Diagramme bei jedem Build neu erstellt werden müssen.
Der Ansatz: Visio-Diagrammerstellung mit Conholdate.Total
Conholdate.Total for Java bietet eine dedizierte Diagramm‑API, die mit dem VSDX‑Format arbeitet. Sie ermöglicht das Laden von Master‑Stencils, das Hinzufügen von Formen aus diesen Mastern, das Verschieben von Formen über deren XForm‑Eigenschaften, das Anfügen von Text und das Anwenden vordefinierter Textstile – alles über einfache Java‑Aufrufe. Die Dokumentation für die Diagrammklassen ist unter der offiziellen Dokumentation verfügbar, und die vollständige API‑Referenz kann unter der API-Referenz eingesehen werden. Mit dieser Bibliothek können Sie die gesamte Visio‑Erstellungspipeline auf einem Server oder Desktop‑Umgebung automatisieren.
Erstellung der Lösung: Visio-Diagramm in Java
Die folgenden Schritte führen Sie durch den gesamten Prozess, von der Maven‑Einrichtung bis zum Speichern der endgültigen VSDX‑Datei.
Maven-Abhängigkeit hinzufügen und Klassen importieren
Zuerst konfigurieren Sie das Conholdate Maven-Repository und fügen die SDK-Abhängigkeit zu Ihrer pom.xml hinzu.
<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>
Die Diagrammklassen, die in diesem Tutorial verwendet werden, befinden sich im Paket com.aspose.diagram, das als Teil des Conholdate.Total for Java‑Bundles bereitgestellt wird:
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;
Diagramm initialisieren und ein Master-Shape laden
Erstellen Sie eine neue Diagram‑Instanz, laden Sie dann eine Stencil‑Datei und wählen Sie das Master‑Element aus, auf dem Ihre Form basieren soll. Hier verwenden wir das integrierte “Rectangle”-Master aus dem “Basic Shapes.vss”-Stencil.
// 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);
Form aus dem Master hinzufügen und Position festlegen
Fügen Sie dem Diagramm über das Master‑Objekt eine Form hinzu und suchen Sie dann die Form anhand der ID, die addShape zurückgibt, damit Sie ihre Position anpassen können.
// 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);
Text hinzufügen und einen Textstil anwenden
Fügen Sie dem Shape einen Textlauf hinzu und wenden Sie eines der vordefinierten Stylesheets des Diagramms an, damit die Beschriftung zum Rest des Dokuments passt.
// 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));
Diagramm als VSDX speichern
Schreiben Sie schließlich das Diagramm in eine VSDX‑Datei, die in Microsoft Visio geöffnet werden kann.
diagram.save("Visio_out.vsdx", SaveFileFormat.VSDX);
Visio-Diagramm in Java - Vollständiges funktionierendes Beispiel - Vollständiger Code
Der folgende Code demonstriert den gesamten Arbeitsablauf von Anfang bis Ende.
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();
}
}
}
Hinweis: Dieses Codebeispiel demonstriert die Kernfunktionalität. Bevor Sie es in Ihrem Projekt verwenden, stellen Sie sicher, dass Sie alle Dateipfade und Konfigurationswerte an Ihre tatsächliche Umgebung anpassen, überprüfen Sie, dass alle erforderlichen Abhängigkeiten ordnungsgemäß installiert sind, und testen Sie gründlich in Ihrer Entwicklungsumgebung. Wenn Sie auf Probleme stoßen, lesen Sie bitte die offizielle Dokumentation oder wenden Sie sich an das Support-Team für Unterstützung.
Überlegungen zur Bereitstellung für Visio-Diagrammprojekte
Das SDK läuft auf jeder Java 8+ Runtime und ist damit für Backend‑Dienste, Batch‑Jobs oder Desktop‑Hilfsprogramme geeignet. Beim Erzeugen großer Diagramme sollten Sie die Heap‑Nutzung überwachen und in Erwägung ziehen, eine einzelne Diagram‑Instanz für mehrere Seiten wiederzuverwenden, um den Speicher‑Overhead zu reduzieren. Für die Produktion ist eine gültige Lizenz erforderlich; Sie können eine temporäre Lizenz zum Testen von der temporäre Lizenzseite erhalten und eine Voll‑Lizenz über die Preisseite erwerben. Stellen Sie sicher, dass das Ausgabeverzeichnis vom Prozess, der den Code ausführt, beschreibbar ist.
Fazit
Programmgesteuerte Erstellung von Visio‑Diagrammen in Java wird mit Conholdate.Total for Java unkompliziert. Wenn Sie den obigen Schritten folgen, können Sie ein Master‑Stencil laden, VSDX‑Dateien erzeugen, Formen präzise positionieren und einheitliche Textformatierung anwenden. Denken Sie daran, eine geeignete Produktionslizenz zu erwerben und die erzeugten Diagramme in Microsoft Visio zu testen, um die Layout‑Treue zu überprüfen. Mit dem SDK können Sie die Diagrammerstellung in einer Vielzahl von Unternehmensszenarien automatisieren.
Häufig gestellte Fragen
Wie kann ich ein Visio-Diagramm in Java mit einer Master-Vorlage erstellen?
Verwenden Sie die Diagrammklassen, die von Conholdate.Total for Java bereitgestellt werden, laden Sie ein Stencil mitaddMaster, fügen Sie eine Form von diesem Master mitaddShapehinzu und speichern Sie die Datei als VSDX.Welches Dateiformat erzeugt das SDK für Visio‑Diagramme?
Das SDK gibt das moderne VSDX‑Format aus, das vollständig mit Microsoft Visio kompatibel ist.Brauche ich eine Lizenz, um die erzeugten Visio‑Dateien in der Produktion auszuführen?
Ja. Erwerben Sie eine Produktionslizenz von der Preisseite und Sie können während der Entwicklung eine temporäre Lizenz verwenden.Kann ich diese Diagrammerstellung in einen Webservice integrieren?
Absolut. Das SDK ist eine reine Java‑Bibliothek, sodass Sie es von jedem Java‑basierten Backend wie Spring Boot oder Jakarta EE aus aufrufen können.
