MS Visio là một ứng dụng phổ biến cho phép bạn tạo nhiều loại sơ đồ như lưu đồ, sơ đồ luồng dữ liệu, mô hình quy trình kinh doanh, v.v. VSDX là định dạng tệp mà MS Visio sử dụng để lưu trữ các sơ đồ. Để tự động hóa thao tác VSDX, bài viết này cung cấp cho bạn hướng dẫn cơ bản về cách tạo sơ đồ Visio từ đầu trong C#. Hơn nữa, nó bao gồm cách chèn các trang, hình dạng và văn bản trong sơ đồ VSDX từ bên trong các ứng dụng .NET.

API C# Visio - Tải xuống miễn phí

Aspose.Diagram for .NET là API giàu tính năng cho phép bạn tạo, chỉnh sửa, chuyển đổi và xử lý sơ đồ MS Visio từ bên trong ứng dụng .NET của mình. API giúp bạn thao tác sơ đồ VSDX dễ dàng hơn với các thuộc tính và phương thức dễ sử dụng. Bạn có thể tải xuống DLL của API hoặc cài đặt nó trong các ứng dụng .NET của mình bằng NuGet.

Install-Package Aspose.Diagram

Tạo Sơ đồ Visio VSDX bằng C#

Trước hết, hãy tạo một sơ đồ VSDX trống từ đầu. Sau đây là các bước để làm như vậy:

Mẫu mã sau đây cho biết cách tạo sơ đồ Visio VSDX trong C#.

// Để biết các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Đường dẫn đến thư mục tài liệu.
string dataDir = RunExamples.GetDataDir_Diagrams();

// Tạo thư mục nếu nó chưa có.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);
// Khởi tạo Visio mới
Diagram diagram = new Diagram();
dataDir = dataDir + "CreateDiagram_out.vsdx";
// Lưu ở định dạng VSDX
diagram.Save(dataDir, SaveFileFormat.VSDX);

Thêm Bản cái vào Sơ đồ Visio trong C#

Bản gốc được sử dụng để thêm khuôn tô có chứa một tập hợp các hình được sử dụng trong sơ đồ. Nếu bạn muốn thêm bản gốc, bạn cần có tệp khuôn tô VSS và ID bản gốc. Sau đây là các bước để thêm bản gốc vào sơ đồ Visio bằng Aspose.Diagram.

Mẫu mã sau đây cho biết cách thêm bản gốc vào sơ đồ Visio bằng C#.

// Để biết các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Đường dẫn đến thư mục tài liệu.
string dataDir = RunExamples.GetDataDir_Master();

// Sơ đồ phụ tải
Diagram diagram = new Diagram();

// Tải stencil vào luồng
string templateFileName = dataDir + "NetApp-FAS-series.vss";
Stream stream = new FileStream(templateFileName, FileMode.Open);

// Thêm bản gốc với đường dẫn tệp stencil và id chính
string masterName = "FAS80xx rear empty";
diagram.AddMaster(templateFileName, 2);

// Thêm chủ với đường dẫn tệp stencil và tên chính
diagram.AddMaster(templateFileName, masterName);

// Thêm bản gốc với luồng tệp stencil và id bản gốc
diagram.AddMaster(stream, 2);

// Thêm bản gốc vào sơ đồ từ sơ đồ nguồn
Diagram src = new Diagram(templateFileName);
diagram.AddMaster(src, masterName);

// Thêm bản gốc với luồng tệp stencil và id bản gốc
diagram.AddMaster(stream, masterName);

// Thêm hình dạng với PinX và PinY được xác định.
diagram.AddShape(2.0, 2.0, masterName, 0);
diagram.AddShape(6.0, 6.0, masterName, 0);

// Thêm hình dạng với PinX, PinY, Chiều rộng và Chiều cao được xác định.
diagram.AddShape(7.0, 3.0, 1.5, 1.5, masterName, 0);

Để biết thêm chi tiết, vui lòng truy cập làm việc với chủ.

Chèn trang vào Sơ đồ Visio trong C#

Sơ đồ MS Visio bao gồm một hoặc nhiều trang và mỗi trang chứa sơ đồ. Do đó, trước khi thêm hình, bạn cần thêm trang bằng các bước sau.

Mẫu mã sau đây cho biết cách thêm trang vào sơ đồ Visio VSDX bằng C#.

// Để biết các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Đường dẫn đến thư mục tài liệu.
string dataDir = RunExamples.GetDataDir_VisioPages();

// Sơ đồ phụ tải
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");

// Nó tính id trang tối đa
int max = 0;
if (diagram.Pages.Count != 0)
    max = diagram.Pages[0].ID;

for (int i = 1; i < diagram.Pages.Count; i++)
{
    if (max < diagram.Pages[i].ID)
        max = diagram.Pages[i].ID;
}

// Đặt ID trang tối đa
int MaxPageId = max;

// Khởi tạo một đối tượng trang mới
Page newPage = new Page();
// Đặt tên
newPage.Name = "new page";
// Đặt ID trang
newPage.ID = MaxPageId + 1;

// Hoặc thử Trình tạo trang
// Trang newPage = Trang mới(MaxPageId + 1);

// Thêm một trang trống mới
diagram.Pages.Add(newPage);

// Lưu sơ đồ
diagram.Save(dataDir + "InsertBlankPage_out.vsdx", SaveFileFormat.VSDX);

Để biết thêm chi tiết, vui lòng truy cập làm việc với các trang.

Tạo Hình dạng trong Sơ đồ Visio bằng C#

Hình dạng là các khối xây dựng của sơ đồ Visio. MS Visio hỗ trợ nhiều loại hình dạng để tạo sơ đồ trong các lĩnh vực khác nhau. Các bước sau đây cho biết cách chèn hình trong Sơ đồ Visio.

Mẫu mã sau đây cho biết cách thêm hình dạng trong sơ đồ Visio bằng C#.

// Để biết các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Đường dẫn đến thư mục tài liệu.
string dataDir = RunExamples.GetDataDir_Shapes();

// Tải sơ đồ
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// Nhận trang theo tên
Page page = diagram.Pages.GetPage("Page-2");

// Thêm chủ với đường dẫn tệp stencil và tên chính
string masterName = "Rectangle";
diagram.AddMaster(dataDir + "Basic Shapes.vss", masterName);
            
// Lập chỉ mục trang bắt đầu từ 0
int PageIndex = 1;
double width = 2, height = 2, pinX = 4.25, pinY = 4.5;
// Thêm một hình chữ nhật mới
long rectangleId = diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex);
            
// Đặt thuộc tính hình dạng 
Shape rectangle = page.Shapes.GetShape(rectangleId);
rectangle.XForm.PinX.Value = 5;
rectangle.XForm.PinY.Value = 5;
rectangle.Type = TypeValue.Shape;
rectangle.Text.Value.Add(new Txt("Aspose Diagram"));
rectangle.TextStyle = diagram.StyleSheets[3];
rectangle.Line.LineColor.Value = "#ff0000";
rectangle.Line.LineWeight.Value = 0.03;
rectangle.Line.Rounding.Value = 0.1;
rectangle.Fill.FillBkgnd.Value = "#ff00ff";
rectangle.Fill.FillForegnd.Value = "#ebf8df";

diagram.Save(dataDir + "AddShape_out.vsdx", SaveFileFormat.VSDX);
Console.WriteLine("Shape has been added.");

Để biết thêm chi tiết, vui lòng truy cập làm việc với hình dạng.

Thêm Hình dạng Văn bản trong Trang Visio trong C#

Trong nhiều trường hợp, bạn cũng cần thêm văn bản vào sơ đồ Visio. Đối với điều này, bạn có thể làm theo các bước dưới đây.

Mẫu mã sau đây cho biết cách thêm văn bản vào sơ đồ VSDX bằng C#.

// Để biết các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// Đường dẫn đến thư mục tài liệu.
string dataDir = RunExamples.GetDataDir_ShapeText();

// Tạo sơ đồ mới
Diagram diagram = new Diagram();
// Đặt tham số và thêm văn bản vào trang Visio
double PinX = 1, PinY = 1, Width = 1, Height = 1;                  
diagram.Pages[0].AddText(PinX, PinY, Width, Height, "Test text");
// Lưu sơ đồ 
diagram.Save(dataDir + "InsertTextShape_out.vsdx", SaveFileFormat.VSDX);

Để biết thêm chi tiết, vui lòng truy cập làm việc với văn bản.

Sự kết luận

Trong bài đăng này, bạn đã học được một số tính năng cơ bản của Aspose.Diagram dành cho .NET để tạo sơ đồ Visio VSDX từ đầu. Các mẫu mã đã chỉ ra cách thêm bản cái, trang, hình và văn bản trong sơ đồ VSDX bằng C#. Bạn có thể khám phá thêm về API bằng cách sử dụng tài liệu.

Xem thêm