Создать организационную диаграмму в VSX в C#
Нативное и высокопроизводительное создание организационной диаграммы в документе VSX с использованием серверных Aspose.Diagram for .NET API без использования какого-либо программного обеспечения, такого как Microsoft или Open Office, Adobe PDF.
Как создать организационную диаграмму в файле VSX с помощью C#
Чтобы создать организационную диаграмму в файле VSX, мы будем использовать
API, многофункциональное, мощное и простое в использовании средство для работы с документами и слияния API для платформы C#. Открытым
менеджер пакетов, поиск Aspose.Diagram и установить. Вы также можете использовать следующую команду из консоли диспетчера пакетов.
Команда
PM> Install-Package Aspose.Diagram
Действия по созданию организационной диаграммы в VSX файлах в C#
Создание организационной диаграммы с
API можно реализовать всего несколькими строками кода.
Создать diagram из трафарета.
- Выберите страницу по ее идентификатору
- Добавить формы узла организации на страницу.
- Добавьте соединители на страницу, чтобы соединить фигуру и ее родителя.
- Автоматическая компоновка с помощью метода Layout
- Вызовите метод Save() и передайте имя файла (полный путь) и формат (VSDX) в качестве параметра.
- Теперь вы можете открывать и использовать файл VSDX в Microsoft Office, Adobe PDF или любой другой совместимой программе.
Системные Требования
Наши API поддерживаются на всех основных платформах и операционных системах. Перед выполнением приведенного ниже кода убедитесь, что в вашей системе выполнены следующие предварительные условия.
- Microsoft Windows или совместимая ОС с .NET Framework, .NET Core, Mono или COM Interop- Среда разработки, такая как Microsoft Visual Studio- Aspose.Diagram for .NET DLL, на которые ссылается ваш проект. Установите из NuGet с помощью кнопки “Загрузить” выше.
Создать организационную диаграмму в файлах VSX - C#
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir_CompactTreeChart(); | |
// Load masters from any existing diagram, stencil or template | |
// And add in the new diagram | |
string visioStencil = dataDir + "Basic Shapes.vss"; | |
const string rectangleMaster = "Rectangle"; | |
const string connectorMaster = "Dynamic connector"; | |
const int pageNumber = 0; | |
const double width = 1; | |
const double height = 1; | |
double pinX = 4.25; | |
double pinY = 9.5; | |
// Define values to construct the hierarchy | |
List<string> listPos = new List<string>(new string[] { "0", "0:0", "0:1", "0:2", "0:3", "0:4", "0:5", "0:6", "0:0:0", "0:0:1", "0:3:0", "0:3:1", "0:3:2", "0:6:0", "0:6:1" }); | |
// Define a Hashtable to map the string name to long shape id | |
Hashtable shapeIdMap = new Hashtable(); | |
// Create a new diagram | |
Diagram diagram = new Diagram(visioStencil); | |
diagram.Pages[pageNumber].PageSheet.PageProps.PageWidth.Value = 11; | |
foreach (string orgnode in listPos) | |
{ | |
// Add a new rectangle shape | |
long rectangleId = diagram.AddShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber); | |
// Set the new shape's properties | |
Shape shape = diagram.Pages[pageNumber].Shapes.GetShape(rectangleId); | |
shape.Text.Value.Add(new Txt(orgnode)); | |
shape.Name = orgnode; | |
shapeIdMap.Add(orgnode, rectangleId); | |
} | |
// Create connections between nodes | |
foreach (string orgName in listPos) | |
{ | |
int lastColon = orgName.LastIndexOf(':'); | |
if(lastColon > 0) | |
{ | |
string parendName = orgName.Substring(0, lastColon); | |
long shapeId = (long)shapeIdMap[orgName]; | |
long parentId = (long)shapeIdMap[parendName]; | |
Shape connector1 = new Shape(); | |
long connecter1Id = diagram.AddShape(connector1, connectorMaster, pageNumber); | |
diagram.Pages[pageNumber].ConnectShapesViaConnector(parentId, ConnectionPointPlace.Right, | |
shapeId, ConnectionPointPlace.Left, connecter1Id); | |
} | |
} | |
//auto layout CompactTree chart | |
LayoutOptions compactTreeOptions = new LayoutOptions | |
{ | |
LayoutStyle = LayoutStyle.CompactTree, | |
Direction = LayoutDirection.DownThenRight, | |
EnlargePage = false | |
}; | |
diagram.Pages[pageNumber].Layout(compactTreeOptions); | |
// Save diagram | |
diagram.Save(dataDir + "CompactTreeChart_out.vsdx", SaveFileFormat.VSDX); |
О Aspose.Diagram for .NET API
Aspose.Diagram — это Microsoft Visioобработка формата документа API. Можно легко загружать, создавать, изменять, манипулировать элементами схемы и преобразовывать диаграммы Visio в другие форматы, такие как PDF, XPS, JPEG, PNG, BMP, TIFF, SVG, EMF и другие. Это автономный API и не требует установки Microsoft Visio или любого другого программного обеспечения.Онлайн VSX Организационная структура в стиле CompactTree Демонстрации в реальном времени
Создайте организационную диаграмму в стиле CompactTree в документах VSX прямо сейчас, посетив наш Веб-сайт живых демонстраций . Живая демонстрация имеет следующие преимущества
VSX Формат файла VSX
Файлы с расширением .VSX относятся к образцам, состоящим из рисунков и форм, которые используются для создания диаграмм в Microsoft Visio. Файлы VSX сохраняются в формате файлов XML и поддерживались до Visio 2013 г. Они отличаются от основного формата файлов VSDX, представленного в Microsoft Visio 2013 г. Файлы VSX можно открывать в любой текстовый редактор для просмотра содержимого.
ПодробнееДругие поддерживаемые форматы организационных диаграмм
Используя C#, можно легко создать организационную диаграмму в стиле CompactTree в различных форматах, в том числе.