Skyddet av digitala dokument är ett vanligt bekymmer nuförtiden. Du vill inte att någon obehörig ska ändra innehållet i dina dokument. Därför blir det oundvikligt att använda effektiva skyddsmekanismer. Följaktligen kommer vi i den här artikeln att visa dig hur du skyddar PPT/PPTX-presentationer från dina .NET-applikationer. Vi kommer att åstadkomma det genom att låsa formerna i en PowerPoint PPT eller PPTX i C#.
- C# API för att låsa former i PowerPoint PPT
- Lås PowerPoint PPT-former i C#
- Lås upp former i PowerPoint PPT
C# .NET API för att låsa former i PowerPoint PPT
För att låsa och låsa upp PowerPoint-presentationer använder vi Aspose.Slides for .NET. API:et tillhandahåller en rad funktioner för att skapa och manipulera PowerPoint-presentationer. Du kan antingen ladda ner API:s DLL eller installera den med NuGet.
PM> Install-Package Aspose.Slides.NET
Lås former i PowerPoint PPT i C#
En PowerPoint-presentation kan innehålla en mängd olika element som text, bilder, ljud etc. Aspose.Slides för .NET tar varje element som en Shape eller ett abjekt som härrör från Shape. Så för att skydda innehållet i presentationerna måste vi låsa alla deras former. Aspose.Slides tillhandahåller lämpliga lås för följande typer av former.
- Auto Shape
- Gruppform
- Anslutning
- Bild ram
Följande steg visar hur du låser former i en PowerPoint PPT i C#.
- Ladda först PPT/PPTX-filen med presentationsklassen.
- Hämta sedan bilder i presentationen med egenskapen Presentation.Slides.
- För varje bild kommer du åt dess former med ISlide.Shapes-samlingen.
- Utför följande steg för varje form i samlingen:
- Kontrollera formens typ.
- Använd lämpligt lås beroende på typ av form.
- Spara slutligen presentationen med metoden Presentation.Save(sträng, SaveFormat).
Följande kodexempel visar hur man låser former i en PowerPoint PPTX med C#.
// Ladda presentationen
using (Presentation presentation = new Presentation("presentation.pptx"))
{
// IShape-objekt för att hålla tillfälliga former
IShape shape;
// Gå igenom alla bilder i presentationen
for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
{
var slide = presentation.Slides[slideCount];
// Gå igenom alla former i bilderna
for (int count = 0; count < slide.Shapes.Count; count++)
{
shape = slide.Shapes[count];
// Om formen är automatisk form
if (shape is IAutoShape)
{
// Skriv cast till auto shape och få auto shape lock
IAutoShape Ashp = shape as IAutoShape;
IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;
// Applicera formlås
AutoShapeLock.PositionLocked = true;
AutoShapeLock.SelectLocked = true;
AutoShapeLock.SizeLocked = true;
}
// Om form är gruppform
else if (shape is IGroupShape)
{
// Skriv cast till gruppform och få gruppformlås
IGroupShape Group = shape as IGroupShape;
IGroupShapeLock groupShapeLock = Group.ShapeLock;
// Applicera formlås
groupShapeLock.GroupingLocked = true;
groupShapeLock.PositionLocked = true;
groupShapeLock.SelectLocked = true;
groupShapeLock.SizeLocked = true;
}
// Om formen är en koppling
else if (shape is IConnector)
{
// Typ gjuten till kontaktform och få kontaktformlås
IConnector Conn = shape as IConnector;
IConnectorLock ConnLock = Conn.ShapeLock;
// Applicera formlås
ConnLock.PositionMove = true;
ConnLock.SelectLocked = true;
ConnLock.SizeLocked = true;
}
// Om formen är bildram
else if (shape is IPictureFrame)
{
// Skriv gjuten till bildramsform och få bildramsformlås
IPictureFrame Pic = shape as IPictureFrame;
IPictureFrameLock PicLock = Pic.ShapeLock;
// Applicera formlås
PicLock.PositionLocked = true;
PicLock.SelectLocked = true;
PicLock.SizeLocked = true;
}
}
}
// Spara presentationen
presentation.Save("locked-ppt.pptx", SaveFormat.Pptx);
}
Lås upp PowerPoint-presentationer i C#
För att låsa upp formerna och göra dem redigerbara måste du stänga av låsen. Observera att om du har låst formerna med Aspose.Slides för .NET måste du använda samma API för att låsa upp. Upplåsning görs genom att inaktivera formlåsen och ställa in deras värden till false.
Följande kodexempel visar hur man låser upp former i en PPTX-fil i C#.
// Ladda presentationen
using (Presentation presentation = new Presentation("locked-ppt.ppt"))
{
// IShape-objekt för att hålla tillfälliga former
IShape shape;
// Gå igenom alla bilder i presentationen
for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
{
var slide = presentation.Slides[slideCount];
// Gå igenom alla former i bilderna
for (int count = 0; count < slide.Shapes.Count; count++)
{
shape = slide.Shapes[count];
// Om formen är automatisk form
if (shape is IAutoShape)
{
// Skriv cast till auto shape och få auto shape lock
IAutoShape Ashp = shape as IAutoShape;
IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;
// Lås upp formen
AutoShapeLock.PositionLocked = false;
AutoShapeLock.SelectLocked = false;
AutoShapeLock.SizeLocked = false;
}
// Om form är gruppform
else if (shape is IGroupShape)
{
// Skriv cast till gruppform och få gruppformlås
IGroupShape Group = shape as IGroupShape;
IGroupShapeLock groupShapeLock = Group.ShapeLock;
// Lås upp formen
groupShapeLock.GroupingLocked = false;
groupShapeLock.PositionLocked = false;
groupShapeLock.SelectLocked = false;
groupShapeLock.SizeLocked = false;
}
// Om formen är en koppling
else if (shape is IConnector)
{
// Typ gjuten till kontaktform och få kontaktformlås
IConnector Conn = shape as IConnector;
IConnectorLock ConnLock = Conn.ShapeLock;
// Lås upp formen
ConnLock.PositionMove = false;
ConnLock.SelectLocked = false;
ConnLock.SizeLocked = false;
}
// Om formen är bildram
else if (shape is IPictureFrame)
{
// Skriv gjuten till bildramsform och få bildramsformlås
IPictureFrame Pic = shape as IPictureFrame;
IPictureFrameLock PicLock = Pic.ShapeLock;
// Lås upp formen
PicLock.PositionLocked = false;
PicLock.SelectLocked = false;
PicLock.SizeLocked = false;
}
}
}
// Spara presentationen
presentation.Save("unlocked-ppt.ppt", SaveFormat.Ppt);
}
Skaffa en gratis licens
Använd Aspose.Slides för .NET utan utvärderingsbegränsningar genom att skaffa en gratis tillfällig licens.
Slutsats
I den här artikeln har du lärt dig hur du låser former i PowerPoint PPT/PPTX i C#. Dessutom har du sett hur du kan avskydda presentationerna genom att låsa upp deras former programmatiskt. Bortsett från det kan du utforska mer om Aspose.Slides för .NET genom att besöka dokumentationen. Du kan också skicka dina frågor till vårt forum.