Файлы Visio содержат различные типы фигур и соединителей для создания различных схем. В некоторых случаях может потребоваться защитить определенные фигуры от изменений. После таких сценариев в этой статье объясняется, как программно защитить или снять защиту с фигур на схеме Visio на C#.
- Защита и снятие защиты с фигур в Visio Diagram — установка C# API
- Программная защита фигур Visio от изменений на C#
- Снятие защиты с фигур Visio в C#
Защита или снятие защиты с файлов Visio Shapes — установка .NET API
Aspose.Diagram for .NET API поддерживает создание и редактирование различных типов диаграмм, таких как блок-схемы, организационные диаграммы и т. д. Вы можете работать с различными форматами файлов без необходимости установки приложения Microsoft Visio. . Вы можете легко установить API, загрузив эталонный DLL-файл из раздела Загрузки или выполнив команду установки NuGet ниже:
PM> Install-Package Aspose.Diagram
Защита фигур Visio от изменений в C#
Вы можете установить различные свойства для защиты фигур на схемах Visio от изменений. Например, вы можете заблокировать редактирование текста, поворот, высоту и т. д. Чтобы защитить фигуры в файле схемы VSD или VSDX Visio, выполните следующие действия:
- Загрузите исходную диаграмму Visio с помощью класса Diagram.
- Получите доступ к странице, а затем к определенной фигуре, используя ее идентификатор.
- Защитите различные свойства формы от изменений.
- Сохраните выходную диаграмму.
В приведенном ниже фрагменте кода показано, как программно защитить фигуры Visio на C#.
// Диаграмма ввода нагрузки
Aspose.Diagram.Diagram diagram = new Aspose.Diagram.Diagram("ProtectAndUnprotect.vsd");
// Получить страницу по названию
Aspose.Diagram.Page page = diagram.Pages.GetPage("Flow 1");
// Получить форму по ID
Aspose.Diagram.Shape shape = page.Shapes.GetShape(1);
// Установить защиту
shape.Protection.LockAspect.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockCrop.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockCustProp.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockDelete.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockHeight.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockMoveX.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockMoveY.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockRotate.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockTextEdit.Value = Aspose.Diagram.BOOL.True;
// Сохранить защищенную выходную визуальную диаграмму
diagram.Save("VisioShapeProtection_Out.vdx", Aspose.Diagram.SaveFileFormat.VDX);
Снятие защиты с фигур Visio в C#
Вы можете снять защиту с фигур на схеме Visio, выполнив следующие действия:
- Загрузите входной файл схемы Visio.
- Снимите защиту с фигур, открыв определенную страницу и ее фигуры.
- Экспортируйте выходной файл Visio.
В следующем примере кода показано, как программно снять защиту с фигур на схеме Visio в C#.
// Диаграмма ввода нагрузки
Aspose.Diagram.Diagram diagram = new Aspose.Diagram.Diagram(dataDir + "ProtectAndUnprotect.vsd");
// Получить страницу по названию
Aspose.Diagram.Page page = diagram.Pages.GetPage("Flow 1");
// Получить форму по ID
Aspose.Diagram.Shape shape = page.Shapes.GetShape(1);
// Снять защиту с фигур Visio
shape.Protection.LockAspect.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockCrop.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockCustProp.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockDelete.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockHeight.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockMoveX.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockMoveY.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockRotate.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockTextEdit.Value = Aspose.Diagram.BOOL.False;
// Сохранить незащищенную выходную диаграмму Visio
diagram.Save("VisioShape_unProtect_Out.vdx", Aspose.Diagram.SaveFileFormat.VDX);
Вывод
В этой статье вы узнали, как защитить или снять защиту с фигур в файле схемы Visio в формате VSD или VSDX программными средствами на C#. Кроме того, вы можете заглянуть в раздел документация, чтобы узнать о различных других функциях API. Если у вас есть вопросы, обращайтесь к нам на форум.