Lås upplåsningsformer i PowerPoint PPT i C#

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# .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.

Se även