Tạo một sơ đồ Visio trực tiếp từ mã Java có thể tối ưu hoá quy trình tài liệu và loại bỏ công việc vẽ thủ công. Conholdate.Total for Java cung cấp một SDK mạnh mẽ cho phép bạn tạo các tệp Visio một cách lập trình. Trong hướng dẫn này, chúng ta sẽ tạo một Visio Diagram trong Java, thêm một hình dạng từ mẫu master, định vị nó và áp dụng kiểu chữ. Khi kết thúc, bạn sẽ có một tệp VSDX sẵn sàng để mở, có thể chỉnh sửa thêm trong Microsoft Visio.

Yêu cầu tạo sơ đồ Visio

Doanh nghiệp thường cần tạo ra các sơ đồ kỹ thuật, lưu đồ hoặc sơ đồ mạng tự động từ các nguồn dữ liệu. Các nhà phát triển Java xây dựng bảng điều khiển báo cáo, công cụ cấu hình hoặc pipeline CI thường gặp yêu cầu tạo tệp Visio mà không cần can thiệp thủ công. Giải pháp phải hỗ trợ tạo hình dựa trên master, định vị chính xác và định dạng văn bản phù hợp với các mẫu Visio hiện có. Việc vẽ thủ công trong Visio tốn thời gian và dễ gây lỗi, đặc biệt là khi các sơ đồ phải được tạo lại trong mỗi lần xây dựng.

Phương pháp: Tạo sơ đồ Visio với Conholdate.Total

Conholdate.Total for Java cung cấp một API sơ đồ chuyên dụng hoạt động với định dạng VSDX. Nó cho phép bạn tải các mẫu master, thêm các hình dạng từ các master đó, thay đổi vị trí các hình dạng thông qua các thuộc tính XForm, đính kèm văn bản và áp dụng các kiểu văn bản đã định sẵn, tất cả đều thông qua các lời gọi Java đơn giản. Tài liệu cho các lớp sơ đồ có sẵn tại tài liệu chính thức, và tham chiếu API đầy đủ có thể được khám phá tại tham chiếu API. Sử dụng thư viện này, bạn có thể tự động hoá toàn bộ quy trình tạo Visio trên máy chủ hoặc môi trường máy tính để bàn.

Xây dựng giải pháp: Tạo sơ đồ Visio trong Java

Các bước sau sẽ hướng dẫn bạn qua toàn bộ quá trình, từ thiết lập Maven đến việc lưu tệp VSDX cuối cùng.

Thêm phụ thuộc Maven và nhập các lớp

Đầu tiên, cấu hình kho Maven của Conholdate và thêm phụ thuộc SDK vào tệp pom.xml của bạn.

<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>

Các lớp diagram được sử dụng trong hướng dẫn này nằm trong gói com.aspose.diagram, được cung cấp như một phần của 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;

Khởi tạo Diagram và Tải Master Shape

Tạo một thể hiện Diagram mới, sau đó tải tệp stencil và chọn master mà bạn muốn dựa vào để tạo hình dạng của mình. Ở đây chúng tôi sử dụng master tích hợp sẵn “Rectangle” từ 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);

Thêm một hình dạng từ Master và đặt vị trí của nó

Thêm một hình dạng vào sơ đồ bằng cách sử dụng master, sau đó tra hình dạng theo ID mà addShape trả về để bạn có thể điều chỉnh vị trí của nó.

// 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);

Thêm Văn Bản và Áp Dụng Kiểu Văn Bản

Gắn một đoạn văn bản vào hình dạng và áp dụng một trong các bảng kiểu đã được định nghĩa trước của sơ đồ để nhãn phù hợp với phần còn lại của tài liệu.

// 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));

Lưu sơ đồ thành VSDX

Cuối cùng, ghi sơ đồ vào tệp VSDX có thể mở trong Microsoft Visio.

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

Tạo sơ đồ Visio trong Java - Mẫu làm việc đầy đủ - Ví dụ mã hoàn chỉnh

Đoạn mã sau đây trình bày toàn bộ quy trình làm việc từ đầu đến cuối.

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();
        }
    }
}

Lưu ý: Ví dụ mã này minh họa chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy đảm bảo cập nhật mọi đường dẫn tệp và giá trị cấu hình để phù hợp với môi trường thực tế, xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển. Nếu bạn gặp bất kỳ vấn đề nào, vui lòng tham khảo tài liệu chính thức hoặc liên hệ với đội hỗ trợ để được trợ giúp.

Các cân nhắc triển khai cho các dự án sơ đồ Visio

SDK chạy trên bất kỳ môi trường Java 8+ nào, khiến nó phù hợp cho các dịch vụ backend, công việc batch, hoặc tiện ích desktop. Khi tạo các sơ đồ lớn, hãy giám sát việc sử dụng heap và cân nhắc tái sử dụng một thể hiện Diagram duy nhất cho nhiều trang để giảm tải bộ nhớ. Cần có giấy phép hợp lệ cho môi trường sản xuất; bạn có thể lấy giấy phép tạm thời để thử nghiệm từ trang giấy phép tạm thời và mua giấy phép đầy đủ qua trang định giá. Đảm bảo thư mục đầu ra có quyền ghi cho quá trình thực thi mã.

Kết luận

Việc tạo các sơ đồ Visio trong Java một cách lập trình trở nên đơn giản với Conholdate.Total for Java. Bằng cách làm theo các bước ở trên, bạn có thể tải một stencil chính, tạo các tệp VSDX, định vị các hình dạng một cách chính xác và áp dụng kiểu dáng văn bản nhất quán. Hãy nhớ mua giấy phép sản xuất hợp lệ và kiểm tra các sơ đồ đã tạo trong Microsoft Visio để xác minh độ chính xác của bố cục. Với SDK đã được cài đặt, bạn có thể tự động tạo sơ đồ trong nhiều kịch bản doanh nghiệp.

FAQs

  • Làm thế nào để tạo một sơ đồ Visio trong Java bằng mẫu master?
    Sử dụng các lớp diagram được cung cấp bởi Conholdate.Total for Java, tải một stencil bằng addMaster, thêm một hình dạng từ master đó bằng addShape, và lưu tệp dưới dạng VSDX.

  • Định dạng tệp nào mà SDK tạo cho sơ đồ Visio?
    SDK xuất ra định dạng VSDX hiện đại, hoàn toàn tương thích với Microsoft Visio.

  • Tôi có cần giấy phép để chạy các tệp Visio được tạo ra trong môi trường sản xuất không?
    Có. Lấy giấy phép sản xuất từ trang định giá và bạn có thể sử dụng giấy phép tạm thời trong quá trình phát triển.

  • Tôi có thể tích hợp việc tạo biểu đồ này vào một dịch vụ web không?
    Chắc chắn. SDK là một thư viện Java thuần, vì vậy bạn có thể gọi nó từ bất kỳ backend dựa trên Java nào như Spring Boot hoặc Jakarta EE.

Đọc Thêm