MS Visio — популярное приложение, которое позволяет создавать широкий спектр диаграмм, таких как блок-схемы, диаграммы потоков данных, модели бизнес-процессов и т. д. VSDX — это формат файла, который MS Visio использует для хранения диаграммы. Чтобы автоматизировать манипуляции с VSDX, в этой статье представлено базовое руководство по созданию диаграмм Visio с нуля на C#. Кроме того, в нем рассказывается, как вставлять страницы, фигуры и текст в диаграммы VSDX из приложений .NET.
- C# Visio API — скачать бесплатно
- Создайте диаграмму MS Visio с помощью C#
- Добавить Master в диаграмму VSDX на C#
- Вставка страниц в схему Visio на C#
- Создание фигуры на схеме Visio в C#
- Добавление текстовой фигуры на страницу Visio в C#
C# Visio API — скачать бесплатно
Aspose.Diagram for .NET — это многофункциональный API, который позволяет создавать, редактировать, преобразовывать и обрабатывать диаграммы MS Visio из приложений .NET. API упрощает работу с диаграммами VSDX с помощью простых в использовании свойств и методов. Вы можете либо загрузить библиотеку DLL API, либо установить ее в свои приложения .NET с помощью NuGet.
Install-Package Aspose.Diagram
Создание диаграммы Visio VSDX с помощью C#
Прежде всего, давайте создадим с нуля пустую диаграмму VSDX. Ниже приведены шаги для этого:
- Создайте экземпляр класса Diagram.
- Используйте метод Diagram.Save(Sring fileName, SaveFileFormat.VSDX), чтобы сохранить файл как VSDX.
В следующем примере кода показано, как создать схему Visio VSDX на C#.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-diagram/Aspose.Diagram-for-.NET.
// Путь к каталогу документов.
string dataDir = RunExamples.GetDataDir_Diagrams();
// Создайте каталог, если он еще не существует.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Инициализировать новый Visio
Diagram diagram = new Diagram();
dataDir = dataDir + "CreateDiagram_out.vsdx";
// Сохранить в формате VSDX
diagram.Save(dataDir, SaveFileFormat.VSDX);
Добавить мастер в диаграмму Visio на C#
Мастер используется для добавления трафарета, который содержит набор фигур для использования в диаграммах. Если вы хотите добавить мастер, вам потребуется файл трафарета VSS и идентификатор мастера. Ниже приведены шаги по добавлению мастера на диаграмму Visio с помощью Aspose.Diagram.
- Создайте новую диаграмму или загрузите существующую, используя класс Diagram.
- Добавьте мастер, используя метод Diagram.AddMaster(String fileName, Int masterID).
- Добавьте фигуру из мастера на диаграмму с помощью метода Diagram.AddShape(Double, Double, String, Int).
- Сохраните диаграмму, используя метод Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
В следующем примере кода показано, как добавить мастер на схему Visio с помощью C#.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-diagram/Aspose.Diagram-for-.NET.
// Путь к каталогу документов.
string dataDir = RunExamples.GetDataDir_Master();
// Диаграмма нагрузки
Diagram diagram = new Diagram();
// Загрузить трафарет в поток
string templateFileName = dataDir + "NetApp-FAS-series.vss";
Stream stream = new FileStream(templateFileName, FileMode.Open);
// Добавить мастер с путем к файлу трафарета и идентификатором мастера
string masterName = "FAS80xx rear empty";
diagram.AddMaster(templateFileName, 2);
// Добавить мастер с путем к файлу трафарета и именем мастера
diagram.AddMaster(templateFileName, masterName);
// Добавить мастер с потоком файла трафарета и идентификатором мастера
diagram.AddMaster(stream, 2);
// Добавляет мастер к диаграмме из исходной диаграммы
Diagram src = new Diagram(templateFileName);
diagram.AddMaster(src, masterName);
// Добавить мастер с потоком файла трафарета и идентификатором мастера
diagram.AddMaster(stream, masterName);
// Добавляет форму с определенными PinX и PinY.
diagram.AddShape(2.0, 2.0, masterName, 0);
diagram.AddShape(6.0, 6.0, masterName, 0);
// Добавляет форму с определенными PinX, PinY, шириной и высотой.
diagram.AddShape(7.0, 3.0, 1.5, 1.5, masterName, 0);
Для получения более подробной информации, пожалуйста, посетите working with master.
Вставка страниц в схему Visio на C#
Диаграммы MS Visio состоят из одной или нескольких страниц, и каждая страница содержит диаграммы. Поэтому перед добавлением фигуры необходимо добавить страницу, выполнив следующие действия.
- Создайте новую диаграмму или загрузите существующую с помощью класса Diagram.
- Проверьте, содержит ли диаграмма уже страницу, используя свойство Diagram.Pages.Count.
- Если это так, получите идентификатор последней страницы, используя свойство Diagram.Pages[index].ID.
- Создайте новую страницу с помощью класса Page и задайте ее имя и идентификатор.
- Добавьте страницу на диаграмму с помощью метода Diagram.Pages.Add(Page).
- Сохраните диаграмму VSDX, используя метод Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
В следующем примере кода показано, как добавить страницу на схему Visio VSDX с помощью C#.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-diagram/Aspose.Diagram-for-.NET.
// Путь к каталогу документов.
string dataDir = RunExamples.GetDataDir_VisioPages();
// Диаграмма нагрузки
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// Он вычисляет максимальный идентификатор страницы
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;
}
// Установить максимальный идентификатор страницы
int MaxPageId = max;
// Инициализировать новый объект страницы
Page newPage = new Page();
// Имя набора
newPage.Name = "new page";
// Установить идентификатор страницы
newPage.ID = MaxPageId + 1;
// Или попробуйте конструктор страниц
// Страница newPage = новая страница (MaxPageId + 1);
// Добавить новую пустую страницу
diagram.Pages.Add(newPage);
// Сохранить диаграмму
diagram.Save(dataDir + "InsertBlankPage_out.vsdx", SaveFileFormat.VSDX);
Подробнее читайте на странице работа со страницами.
Создание фигуры в диаграмме Visio с помощью C#
Фигуры — это строительные блоки схем Visio. MS Visio поддерживает широкий спектр форм для создания диаграмм в различных областях. Следующие шаги показывают, как вставить фигуру в схему Visio.
- Создайте новую диаграмму или загрузите существующую, используя класс Diagram.
- Создайте страницу или получите нужную страницу в объекте Page.
- Добавьте master на диаграмму, используя метод Diagram.AddMaster(String fileName, Int masterID).
- Добавьте новую прямоугольную форму, используя метод Diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex).
- Сохраните идентификатор формы, возвращенный методом Diagram.AddShape().
- Получите вновь добавленную фигуру в объекте Shape с помощью метода Page.Shapes.GetShape(long ID).
- Установите свойства фигуры, такие как текст, цвет и т. д.
- Сохраните диаграмму VSDX, используя метод Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
В следующем примере кода показано, как добавить фигуру на схему Visio с помощью C#.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-diagram/Aspose.Diagram-for-.NET.
// Путь к каталогу документов.
string dataDir = RunExamples.GetDataDir_Shapes();
// Загрузить диаграмму
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// Получить страницу по названию
Page page = diagram.Pages.GetPage("Page-2");
// Добавить мастер с путем к файлу трафарета и именем мастера
string masterName = "Rectangle";
diagram.AddMaster(dataDir + "Basic Shapes.vss", masterName);
// Индексация страницы начинается с 0
int PageIndex = 1;
double width = 2, height = 2, pinX = 4.25, pinY = 4.5;
// Добавьте новую форму прямоугольника
long rectangleId = diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex);
// Установить свойства формы
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.");
Чтобы узнать больше, посетите работа с фигурами.
Добавление текстовой фигуры на страницу Visio в C#
В некоторых случаях вам также необходимо добавить текст к диаграммам Visio. Для этого вы можете выполнить следующие шаги.
- Создайте новую диаграмму или загрузите существующую, используя класс Diagram.
- Добавьте текст на определенную страницу, используя метод Diagram.Pages[0].AddText(PinX, PinY, Width, Height, “Test text”).
- Сохраните диаграмму VSDX, используя метод Diagram.Save(Sring fileName, SaveFileFormat.VSDX).
В следующем примере кода показано, как добавить текст на схему VSDX с помощью C#.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-diagram/Aspose.Diagram-for-.NET.
// Путь к каталогу документов.
string dataDir = RunExamples.GetDataDir_ShapeText();
// Создать новую диаграмму
Diagram diagram = new Diagram();
// Установка параметров и добавление текста на страницу Visio
double PinX = 1, PinY = 1, Width = 1, Height = 1;
diagram.Pages[0].AddText(PinX, PinY, Width, Height, "Test text");
// Сохранить диаграмму
diagram.Save(dataDir + "InsertTextShape_out.vsdx", SaveFileFormat.VSDX);
Подробнее читайте на странице работа с текстом.
Вывод
В этом посте вы узнали о некоторых основных функциях Aspose.Diagram для .NET для создания диаграмм Visio VSDX с нуля. В примерах кода показано, как добавлять образцы, страницы, фигуры и текст в диаграммы VSDX с помощью C#. Вы можете узнать больше об API, используя документацию.