Файли Visio містять різні типи фігур і з’єднувачів для створення різних діаграм. У деяких випадках ви можете захистити певні форми від змін. Дотримуючись таких сценаріїв, у цій статті пояснюється, як програмно захистити або зняти захист фігур у діаграмі Visio у C#.
- Захист або зняття захисту фігур у діаграмі Visio – встановлення C# API
- Захист Visio Shapes від програмних змін у C#
- Зніміть захист фігур Visio у C#
Захистити або зняти захист файлів Visio Shapes – встановлення .NET API
Aspose.Diagram for .NET API підтримує створення та редагування різних типів діаграм, як-от блок-схем, організаційних діаграм тощо. Ви можете працювати з різноманітними форматами файлів без встановлення програми Microsoft Visio . Ви можете легко встановити API, завантаживши довідковий файл DLL із розділу Завантаження або виконавши команду встановлення NuGet нижче:
PM> Install-Package Aspose.Diagram
Захист Visio Shapes від змін у 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;
// Зберегти захищену вихідну діаграму Visio
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. Якщо у вас виникли запитання, зв’яжіться з нами на форумі.