MS Visio — це популярна програма, яка дозволяє створювати широкий спектр діаграм, як-от блок-схеми, діаграми потоку даних, моделі бізнес-процесів тощо. VSDX — це формат файлів, який MS Visio використовує для зберігання діаграми. Щоб автоматизувати роботу з VSDX, у цій статті наведено базовий посібник із створення діаграм Visio з нуля в C#. Крім того, тут описано, як вставляти сторінки, фігури та текст у діаграми VSDX із програм .NET.

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 з нуля. Для цього виконайте наведені нижче дії.

У наведеному нижче прикладі коду показано, як створити діаграму 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.

У наведеному нижче прикладі коду показано, як додати майстер до діаграми 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, Width і Height.
diagram.AddShape(7.0, 3.0, 1.5, 1.5, masterName, 0);

Для отримання додаткової інформації відвідайте робота з майстром.

Вставлення сторінок у діаграму Visio у C#

Діаграми MS Visio складаються з однієї або кількох сторінок, і кожна сторінка містить діаграми. Тому перед додаванням фігури потрібно додати сторінку, виконавши наведені нижче дії.

  • Створіть нову діаграму або завантажте існуючу за допомогою класу Diagram.
  • Перевірте, чи діаграма вже містить сторінку за допомогою властивості Diagram.Pages.Count.
  • Якщо так, отримайте ідентифікатор останньої сторінки за допомогою властивості Diagram.Pages[index].ID.
  • Створіть нову сторінку за допомогою класу Page і встановіть її назву та ID.
  • Додайте сторінку до діаграми за допомогою методу 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;

// Або спробуйте конструктор сторінок
// Page newPage = нова сторінка (MaxPageId + 1);

// Додайте нову порожню сторінку
diagram.Pages.Add(newPage);

// Зберегти діаграму
diagram.Save(dataDir + "InsertBlankPage_out.vsdx", SaveFileFormat.VSDX);

Для отримання додаткової інформації відвідайте робота зі сторінками.

Створення фігури на схемі Visio за допомогою C#

Фігури є будівельними блоками діаграм Visio. MS Visio підтримує широкий спектр форм для створення діаграм у різних областях. У наведених нижче кроках показано, як вставити фігуру в діаграму Visio.

  • Створіть нову діаграму або завантажте існуючу за допомогою класу Diagram.
  • Створіть Сторінку або отримайте потрібну сторінку в об’єкті Сторінка.
  • Додайте майстер до діаграми за допомогою методу 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. Для цього виконайте наведені нижче дії.

У наведеному нижче прикладі коду показано, як додати текст до діаграми 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 for .NET для створення діаграм Visio VSDX з нуля. Зразки коду показали, як додавати шаблони, сторінки, фігури та текст до діаграм VSDX за допомогою C#. Ви можете дізнатися більше про API, використовуючи документацію.

Дивись також