Создание диаграммы Visio в C#
Microsoft Visio — это широко используемый инструмент для создания блок-схем, организационных диаграмм, сетевых диаграмм, процессов и других видов технических или бизнес-визуалов, которым нужны точные формы и связи. Для многих команд и сценариев автоматизации ручное рисование диаграмм непрактично, когда диаграммы должны быть сгенерированы для большого количества записей, созданы по запросу или встроены в отчетные конвейеры. Программная генерация диаграмм решает эти проблемы, позволяя разработчикам создавать последовательные, повторяемые диаграммы непосредственно из источников данных или бизнес-логики внутри приложения на C#. Пример, показанный в этой статье, демонстрирует, как создать диаграмму Visio программным образом на C#, добавить прямоугольную форму из главного трафарета, позиционировать и изменять его размер, установить текст и стиль, и сохранить результат
Автоматизация создания диаграмм полезна во многих реальных условиях, где диаграммы необходимо производить надежно и повторно. Например, вы можете создавать архитектурные диаграммы для каждой среды развертывания, создавать карты сети для мониторинговых панелей или строить стандартизированные организационные диаграммы на основе данных HR. Программная генерация гарантирует, что правила компоновки применяются последовательно, что формы следуют одинаковым руководствам по стилю, и что выходные файлы создаются без ручного вмешательства. В следующих разделах рассматривается обоснование, пошаговый подход, полный фрагмент кода на C#, который вы можете скопировать и вставить, и подробный FAQ для охвата общих вопросов и следующих шагов при интеграции генерации диаграмм в ваши приложения.
Почему создавать диаграммы Visio программным образом?
- Сделайте массовую или по запросу генерацию диаграмм надежной и воспроизводимой, чтобы диаграммы создавались последовательно по многим записям или запускам, экономя время на ручное рисование и устраняя человеческие вариации в компоновке.
- Интегрируйте генерацию диаграмм в автоматизированные рабочие процессы, такие как отчетность, документационные конвейеры или непрерывная доставка, чтобы визуальные материалы всегда были актуальны с учетом базовых данных без какого-либо ручного редактирования.
- Принудительно применяйте корпоративные или проектные стилистические руководства программным образом, чтобы обеспечить согласованность форм, шрифтов и цветов во всех схемах и уменьшить необходимость в ручной проверке и переработке.
- Создайте диаграммы в нескольких форматах и вставьте их в другие документы или системы, что обеспечит кроссплатформенное распространение и упрощенное потребление для заинтересованных сторон.
- Масштабирование производства диаграмм до сотен или тысяч единиц в сценариях, таких как создание индивидуальных диаграмм для каждого клиента, для каждого сайта или для каждого развертывания, где ручное редактирование было бы невозможным.
Создайте диаграмму Visio VSDX на C#
- Подготовьте свой проект, добавив библиотеку диаграмм в ссылки проекта, чтобы у вас был доступ к классам диаграмм и фигур.
- Инициализируйте новый объект диаграммы, который служит холстом для хранения страниц, мастер-страниц, форм и стилей.
- Добавьте или загрузите основной шаблон, который содержит шаблоны форм, которые вы хотите использовать, например, основной прямоугольник из шаблона основных форм.
- Определите размеры и координаты для каждой фигуры, которую вы хотите разместить, чтобы позиции и размеры были детерминированными и могли быть рассчитаны на основе данных или правил компоновки.
- Добавьте формы в диаграмму, ссылаясь на основной шаблон и вычисленные значения позиции и размера, затем захватите возвращаемый идентификатор формы, если вы хотите дополнительно изменить форму.
- Получите экземпляр формы, когда вам нужно изменить его свойства, такие как местоположение, текст, стиль или тип, и примените изменения программно.
- Сохраните финальную диаграмму в нужном формате, обычно VSDX для совместимости с Visio, или экспортируйте в изображения или другие поддерживаемые форматы для встраивания в документы.
// 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);
Этот фрагмент демонстрирует полный процесс от создания нового экземпляра диаграммы до сохранения результата в файл VSDX. Код сначала регистрирует мастер-форму из файла трафарета, затем добавляет прямоугольник, используя явные координаты и размеры. После добавления формы код извлекает экземпляр для тонкой настройки его положения и типа, вставляет текстовое содержимое и применяет существующий стиль из коллекции стилей диаграммы. Наконец, диаграмма сохраняется на диск. Вы можете адаптировать этот фрагмент, чтобы добавить несколько форм, создать соединители между формами, генерировать несколько страниц или применять динамическое стилизование на основе данных.
Заключение
Создание диаграмм Visio программным способом на C# является практичным и мощным подходом к автоматизации визуальной документации, стандартизации эстетики диаграмм и интеграции выходных данных диаграмм в корпоративные отчетные или документальные системы. Следуя приведенным шагам и примеру, вы сможете быстро начать, а затем расширить подход для генерации сложных диаграмм, соединителей и многостраничных документов, создаваемых непосредственно из источников данных. Независимо от того, нужны ли вам автоматизированные архитектурные диаграммы, организационные схемы, сетевые топологии или процессные потоки, программная генерация диаграмм делает процесс быстрее, более последовательным и менее подверженным ошибкам, освобождая дизайнеров и инженеров для того, чтобы сосредоточиться на более высокоуровневых решениях, а не на повторяющихся задачах рисования.