Tạo sơ đồ Visio trong C#

Microsoft Visio là một công cụ được sử dụng rộng rãi để thiết kế sơ đồ luồng, sơ đồ tổ chức, sơ đồ mạng, quy trình làm việc và các loại hình ảnh kỹ thuật hoặc kinh doanh khác cần các hình dạng và kết nối chính xác. Đối với nhiều nhóm và các kịch bản tự động hóa, việc vẽ sơ đồ bằng tay không thực tế khi cần phải tạo ra sơ đồ cho nhiều bản ghi, được tạo theo yêu cầu hoặc nhúng bên trong các pipeline báo cáo. Việc tạo sơ đồ theo cách lập trình giải quyết những vấn đề này bằng cách cho phép các nhà phát triển tạo ra các sơ đồ nhất quán, có thể lặp lại trực tiếp từ các nguồn dữ liệu hoặc logic kinh doanh bên trong ứng dụng C#. Ví dụ được trình bày trong bài viết này cho thấy cách tạo một sơ đồ Visio theo cách lập trình trong C#, thêm một hình chữ nhật từ một mẫu stencil, định vị và kích

Tự động hóa việc tạo biểu đồ rất hữu ích trong nhiều bối cảnh thực tế nơi mà các biểu đồ cần được sản xuất một cách đáng tin cậy và lặp đi lặp lại. Ví dụ, bạn có thể tạo ra các biểu đồ kiến trúc cho mỗi môi trường triển khai, tạo ra các bản đồ mạng cho bảng điều khiển theo dõi, hoặc xây dựng các biểu đồ tổ chức tiêu chuẩn từ dữ liệu nhân sự. Việc tạo ra chương trình đảm bảo rằng các quy tắc bố cục được áp dụng nhất quán, rằng các hình dạng tuân theo cùng một hướng dẫn kiểu dáng, và rằng các tệp đầu ra được tạo ra mà không cần can thiệp thủ công. Các phần tiếp theo sẽ đi qua lý do, một cách tiếp cận từng bước, một đoạn mã C# hoàn chỉnh bạn có thể sao chép và dán, và một FAQ chi tiết để giải quyết các mối quan tâm phổ biến

Tại sao tạo sơ đồ Visio theo cách lập trình?

  • Làm cho việc tạo ra sơ đồ hàng loạt hoặc theo yêu cầu trở nên đáng tin cậy và có thể lặp lại để các sơ đồ được sản xuất nhất quán trên nhiều bản ghi hoặc lần chạy, tiết kiệm thời gian vẽ tay và loại bỏ sự biến thiên bố cục do con người.
  • Tích hợp việc tạo biểu đồ vào các quy trình tự động như báo cáo, quy trình tài liệu hoặc giao hàng liên tục để hình ảnh luôn được cập nhật với dữ liệu cơ sở mà không cần chỉnh sửa thủ công.
  • Thi hành các hướng dẫn phong cách công ty hoặc dự án một cách có hệ thống để đảm bảo hình dạng, phông chữ và màu sắc nhất quán trên tất cả các biểu đồ và giảm nhu cầu hiệu đính thủ công và làm lại.
  • Tạo các sơ đồ ở nhiều định dạng và nhúng chúng vào các tài liệu hoặc hệ thống khác, cho phép phân phối đa nền tảng và tiêu thụ dễ dàng hơn bởi các bên liên quan.
  • Sản xuất sơ đồ quy mô lên hàng trăm hoặc hàng nghìn mục trong các tình huống như tạo sơ đồ cá nhân cho từng khách hàng, từng địa điểm hoặc từng triển khai, nơi việc chỉnh sửa thủ công sẽ không khả thi.

Tạo sơ đồ Visio VSDX trong C#

  1. Chuẩn bị dự án của bạn bằng cách thêm thư viện sơ đồ vào các tham chiếu của dự án để bạn có quyền truy cập vào các lớp sơ đồ và hình dạng.
  2. Khởi tạo một đối tượng sơ đồ mới phục vụ như một bảng vẽ để chứa các trang, mẫu, hình dạng và kiểu.
  3. Thêm hoặc tải một mẫu chính chứa các mẫu hình dạng mà bạn muốn sử dụng, chẳng hạn như một mẫu hình chữ nhật từ một mẫu hình cơ bản.
  4. Định nghĩa kích thước và tọa độ cho từng hình dạng mà bạn muốn đặt để các vị trí và kích thước có thể xác định được và có thể được tính toán từ dữ liệu hoặc quy tắc bố trí.
  5. Thêm các hình vào sơ đồ bằng cách tham chiếu đến mẫu chính và các giá trị vị trí và kích thước đã tính toán, sau đó lưu lại id hình đã trả về nếu bạn muốn sửa đổi thêm hình đó.
  6. Retrieve the shape instance when you need to change its properties such as location, text, style, or type, and apply changes programmatically.
  7. Lưu sơ đồ cuối cùng ở định dạng mong muốn, thường là VSDX để tương thích với Visio, hoặc xuất ra hình ảnh hoặc các định dạng hỗ trợ khác để nhúng vào tài liệu.
// Create a new instance of a diagram
Aspose.Diagram.Diagram diagram = new Aspose.Diagram.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
Aspose.Diagram.Shape rectangle = diagram.Pages[0].Shapes.GetShape(rectangleId);

// Set the position of the shape by modifying its PinX and PinY properties
rectangle.XForm.PinX.Value = 5;
rectangle.XForm.PinY.Value = 5;

// Set the type of the shape to indicate it is a standard shape
rectangle.Type = Aspose.Diagram.TypeValue.Shape;

// Add text to the shape
rectangle.Text.Value.Add(new Aspose.Diagram.Txt("Aspose Diagram"));

// Apply a predefined text style to the shape's text
rectangle.TextStyle = diagram.StyleSheets[3];

// Save the modified diagram to a file
diagram.Save("Visio_out.vsdx", Aspose.Diagram.SaveFileFormat.Vsdx);

Đoạn mã này cho thấy một quy trình hoàn chỉnh từ việc tạo một phiên bản sơ đồ mới đến việc lưu kết quả dưới dạng tệp VSDX. Mã trước tiên đăng ký một hình dạng chính từ tệp khuôn mẫu, sau đó thêm một hình chữ nhật sử dụng tọa độ và kích thước rõ ràng. Sau khi thêm hình dạng, mã truy xuất phiên bản để điều chỉnh vị trí và loại của nó, chèn nội dung văn bản và áp dụng một kiểu có sẵn từ bộ sưu tập kiểu sơ đồ. Cuối cùng, sơ đồ được lưu vào đĩa. Bạn có thể điều chỉnh đoạn mã này để thêm nhiều hình dạng, tạo kết nối giữa các hình dạng, tạo nhiều trang hoặc áp dụng kiểu động dựa trên dữ liệu.

Kết luận

Tạo sơ đồ Visio một cách lập trình trong C# là một cách tiếp cận thực tiễn và mạnh mẽ để tự động hóa tài liệu trực quan, chuẩn hóa thẩm mỹ sơ đồ và tích hợp đầu ra sơ đồ vào hệ thống báo cáo hoặc tài liệu doanh nghiệp. Bằng cách làm theo các bước và ví dụ được cung cấp, bạn có thể bắt đầu nhanh chóng và sau đó mở rộng cách tiếp cận để tạo ra các sơ đồ phức tạp, kết nối, và tài liệu nhiều trang được điều khiển trực tiếp từ các nguồn dữ liệu. Dù bạn cần sơ đồ kiến trúc tự động, biểu đồ tổ chức, topo mạng, hoặc quy trình làm việc, việc tạo sơ đồ lập trình giúp quy trình nhanh hơn, đồng nhất hơn và ít xảy ra lỗi hơn, giải phóng các nhà thiết kế và kỹ sư để tập trung vào các quyết định cấp cao hơn thay vì các nhiệm vụ vẽ lặp lại

See Also