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í
- Tạo sơ đồ MS Visio bằng C#
- Thêm Master vào Sơ đồ VSDX trong C#
- Chèn trang vào Sơ đồ Visio trong C#
- Tạo Hình dạng trong Sơ đồ Visio trong C#
- Thêm Hình dạng Văn bản trong Trang Visio trong C#
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:
- Tạo một thể hiện của lớp Diagram.
- Sử dụng phương pháp Diagram.Save(Sring fileName, SaveFileFormat.VSDX) để lưu tệp dưới dạng VSDX.
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.
- Tạo sơ đồ mới hoặc tải sơ đồ hiện có bằng lớp Diagram.
- Thêm bản gốc bằng phương thức Diagram.AddMaster(String fileName, Int masterID).
- Thêm hình dạng từ bản gốc vào sơ đồ bằng phương thức Diagram.AddShape(Double, Double, String, Int).
- Lưu sơ đồ bằng phương thức Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
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.
- Tạo sơ đồ mới hoặc tải sơ đồ hiện có bằng lớp Diagram.
- Kiểm tra xem sơ đồ đã chứa trang chưa bằng thuộc tính Diagram.Pages.Count.
- Nếu có, hãy lấy ID của trang cuối cùng bằng thuộc tính Diagram.Pages[index].ID.
- Tạo một trang mới sử dụng lớp Page và đặt tên và ID của nó.
- Thêm trang vào sơ đồ bằng phương pháp Diagram.Pages.Add(Page).
- Lưu sơ đồ VSDX bằng phương pháp Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
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.
- Tạo sơ đồ mới hoặc tải sơ đồ hiện có bằng lớp Diagram.
- Tạo một Trang hoặc lấy trang mong muốn trong một đối tượng Trang.
- Thêm phần chính vào sơ đồ bằng phương thức Diagram.AddMaster(String fileName, Int masterID).
- Thêm hình chữ nhật mới bằng phương thức Diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex).
- Lưu trữ ID hình dạng được trả về bởi phương thức Diagram.AddShape().
- Truy xuất hình dạng mới được thêm vào trong đối tượng Shape bằng phương thức Page.Shapes.GetShape(long ID).
- Đặt các thuộc tính của hình dạng như văn bản, màu sắc, v.v.
- Lưu sơ đồ VSDX bằng phương pháp Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
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.
- Tạo sơ đồ mới hoặc tải sơ đồ hiện có bằng lớp Diagram.
- Thêm văn bản vào một trang cụ thể bằng phương pháp Diagram.Pages[0].AddText(PinX, PinY, Width, Height, “Test text”).
- Lưu sơ đồ VSDX bằng phương pháp Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
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.