How to Apply or Remove Protection on PPTX Shapes inside .NET Applications

This technical tip explains how .NET developers can apply and remove protection to presentation. A common use for Aspose.Slides is to create, update and save Microsoft PowerPoint 2007 (PPTX) presentations as part of an automated workflow. Users of the application that uses Aspose.Slides this way get access to the output presentations. Protecting them from editing is a common concern. It is important that auto-generated presentations retain their original formatting and content. A common use for Aspose.Slides is to create, update and save Microsoft PowerPoint 2007 (PPTX) presentations as part of an automated workflow.
//your code here...// Applying Protection to PPTX Shapes //[C# Code Sample] //Instatiate Presentation class that represents a PPTX file Presentation pTemplate = new Presentation(path + "RectPicFrame.pptx");//Instatiate Presentation class that represents a PPTX file Presentation pTemplate = new Presentation("RectPicFrame.pptx"); //ISlide object for accessing the slides in the presentation ISlide slide = pTemplate.Slides[0]; //IShape object for holding temporary shapes IShape shape; //Traversing through all the slides in the presentation for (int slideCount = 0; slideCount < pTemplate.Slides.Count; slideCount++) { slide = pTemplate.Slides[slideCount]; //Travesing through all the shapes in the slides for (int count = 0; count < slide.Shapes.Count; count++) { shape = slide.Shapes[count]; //if shape is autoshape if (shape is IAutoShape) { //Type casting to Auto shape and getting auto shape lock IAutoShape Ashp = shape as IAutoShape; IAutoShapeLock AutoShapeLock = Ashp.ShapeLock; //Applying shapes locks AutoShapeLock.PositionLocked = true; AutoShapeLock.SelectLocked = true; AutoShapeLock.SizeLocked = true; } //if shape is group shape else if (shape is IGroupShape) { //Type casting to group shape and getting group shape lock IGroupShape Group = shape as IGroupShape; IGroupShapeLock groupShapeLock = Group.ShapeLock; //Applying shapes locks groupShapeLock.GroupingLocked = true; groupShapeLock.PositionLocked = true; groupShapeLock.SelectLocked = true; groupShapeLock.SizeLocked = true; } //if shape is a connector else if (shape is IConnector) { //Type casting to connector shape and getting connector shape lock IConnector Conn = shape as IConnector; IConnectorLock ConnLock = Conn.ShapeLock; //Applying shapes locks ConnLock.PositionMove = true; ConnLock.SelectLocked = true; ConnLock.SizeLocked = true; } //if shape is picture frame else if (shape is IPictureFrame) { //Type casting to pitcture frame shape and getting picture frame shape lock IPictureFrame Pic = shape as IPictureFrame; IPictureFrameLock PicLock = Pic.ShapeLock; //Applying shapes locks PicLock.PositionLocked = true; PicLock.SelectLocked = true; PicLock.SizeLocked = true; } } } //Saving the presentation file pTemplate.Save("ProtectedSample.pptx", Aspose.Slides.Export.SaveFormat.Pptx); //[VB.NET Code Sample] 'Instatiate Presentation class that represents a PPTX file Dim pTemplate As New Presentation("RectPicFrame.pptx") 'ISlide object for accessing the slides in the presentation Dim slide As ISlide = pTemplate.Slides(0) 'IShape object for holding temporary shapes Dim shape As IShape 'Traversing through all the slides in the presentation For slideCount As Integer = 0 To pTemplate.Slides.Count - 1 slide = pTemplate.Slides(slideCount) 'Travesing through all the shapes in the slides For count As Integer = 0 To slide.Shapes.Count - 1 shape = slide.Shapes(count) 'if shape is autoshape If TypeOf shape Is IAutoShape Then 'Type casting to Auto shape and getting auto shape lock Dim Ashp As IAutoShape = TryCast(shape, IAutoShape) Dim AutoShapeLock As IAutoShapeLock = Ashp.ShapeLock 'Applying shapes locks AutoShapeLock.PositionLocked = True AutoShapeLock.SelectLocked = True AutoShapeLock.SizeLocked = True 'if shape is group shape ElseIf TypeOf shape Is IGroupShape Then 'Type casting to group shape and getting group shape lock Dim Group As IGroupShape = TryCast(shape, IGroupShape) Dim groupShapeLock As IGroupShapeLock = Group.ShapeLock 'Applying shapes locks groupShapeLock.GroupingLocked = True groupShapeLock.PositionLocked = True groupShapeLock.SelectLocked = True groupShapeLock.SizeLocked = True 'if shape is a connector ElseIf TypeOf shape Is IConnector Then 'Type casting to connector shape and getting connector shape lock Dim Conn As IConnector = TryCast(shape, IConnector) Dim ConnLock As IConnectorLock = Conn.ShapeLock 'Applying shapes locks ConnLock.PositionMove = True ConnLock.SelectLocked = True ConnLock.SizeLocked = True 'if shape is picture frame ElseIf TypeOf shape Is IPictureFrame Then 'Type casting to pitcture frame shape and getting picture frame shape lock Dim Pic As IPictureFrame = TryCast(shape, IPictureFrame) Dim PicLock As IPictureFrameLock = Pic.ShapeLock 'Applying shapes locks PicLock.PositionLocked = True PicLock.SelectLocked = True PicLock.SizeLocked = True End If Next count Next slideCount 'Saving the presentation file pTemplate.Save("ProtectedSample.pptx", Aspose.Slides.Export.SaveFormat.Pptx) // Removing Protection in Presentations //[C# Code Sample] //Open the desired presentation Presentation pTemplate = new Presentation("ProtectedSample.pptx"); //ISlide object for accessing the slides in the presentation ISlide slide = pTemplate.Slides[0]; //IShape object for holding temporary shapes IShape shape; //Traversing through all the slides in presentation for (int slideCount = 0; slideCount < pTemplate.Slides.Count; slideCount++) { slide = pTemplate.Slides[slideCount]; //Travesing through all the shapes in the slides for (int count = 0; count < slide.Shapes.Count; count++) { shape = slide.Shapes[count]; //if shape is autoshape if (shape is IAutoShape) { //Type casting to Auto shape and getting auto shape lock IAutoShape Ashp = shape as AutoShape; IAutoShapeLock AutoShapeLock = Ashp.ShapeLock; //Applying shapes locks AutoShapeLock.PositionLocked = false; AutoShapeLock.SelectLocked = false; AutoShapeLock.SizeLocked = false; } //if shape is group shape else if (shape is IGroupShape) { //Type casting to group shape and getting group shape lock IGroupShape Group = shape as IGroupShape; IGroupShapeLock groupShapeLock = Group.ShapeLock; //Applying shapes locks groupShapeLock.GroupingLocked = false; groupShapeLock.PositionLocked = false; groupShapeLock.SelectLocked = false; groupShapeLock.SizeLocked = false; } //if shape is Connector shape else if (shape is IConnector) { //Type casting to connector shape and getting connector shape lock IConnector Conn = shape as IConnector; IConnectorLock ConnLock = Conn.ShapeLock; //Applying shapes locks ConnLock.PositionMove = false; ConnLock.SelectLocked = false; ConnLock.SizeLocked = false; } //if shape is picture frame else if (shape is IPictureFrame) { //Type casting to pitcture frame shape and getting picture frame shape lock IPictureFrame Pic = shape as IPictureFrame; IPictureFrameLock PicLock = Pic.ShapeLock; //Applying shapes locks PicLock.PositionLocked = false; PicLock.SelectLocked = false; PicLock.SizeLocked = false; } } } //Saving the presentation file pTemplate.Save("RemoveProtectionSample.pptx",Aspose.Slides.Export.SaveFormat.Pptx); //[VB.NET Code Sample] 'Open the desired presentation Dim pTemplate As New Presentation(path & "ProtectedSample.pptx") 'ISlide object for accessing the slides in the presentation Dim slide As ISlide = pTemplate.Slides(0) 'IShape object for holding temporary shapes Dim shape As IShape 'Traversing through all the slides in presentation For slideCount As Integer = 0 To pTemplate.Slides.Count - 1 slide = pTemplate.Slides(slideCount) 'Travesing through all the shapes in the slides For count As Integer = 0 To slide.Shapes.Count - 1 shape = slide.Shapes(count) 'if shape is autoshape If TypeOf shape Is IAutoShape Then 'Type casting to Auto shape and getting auto shape lock Dim Ashp As IAutoShape = TryCast(shape, AutoShape) Dim AutoShapeLock As IAutoShapeLock = Ashp.ShapeLock 'Applying shapes locks AutoShapeLock.PositionLocked = False AutoShapeLock.SelectLocked = False AutoShapeLock.SizeLocked = False 'if shape is group shape ElseIf TypeOf shape Is IGroupShape Then 'Type casting to group shape and getting group shape lock Dim Group As IGroupShape = TryCast(shape, IGroupShape) Dim groupShapeLock As IGroupShapeLock = Group.ShapeLock 'Applying shapes locks groupShapeLock.GroupingLocked = False groupShapeLock.PositionLocked = False groupShapeLock.SelectLocked = False groupShapeLock.SizeLocked = False 'if shape is Connector shape ElseIf TypeOf shape Is IConnector Then 'Type casting to connector shape and getting connector shape lock Dim Conn As IConnector = TryCast(shape, IConnector) Dim ConnLock As IConnectorLock = Conn.ShapeLock 'Applying shapes locks ConnLock.PositionMove = False ConnLock.SelectLocked = False ConnLock.SizeLocked = False 'if shape is picture frame ElseIf TypeOf shape Is IPictureFrame Then 'Type casting to pitcture frame shape and getting picture frame shape lock Dim Pic As IPictureFrame = TryCast(shape, IPictureFrame

Url: http://www.aspose.com/.net/powerpoint-component.aspx

Language: C# | User: Sheraz Khan | Created: Sep 9, 2015 | Tags: Apply Protection to PPTX Shapes, Removing Protection from presentation, Saving the presentation file, get access to the output presentations,, .NET PowerPoint API, PowerPoint .NET Component Apply Protection to PPTX Shapes Removing Protection from presentation Saving the presentation file get access to the output presentations .NET PowerPoint API PowerPoint .NET Component