Blocca le forme di sblocco in PowerPoint PPT in C#

La protezione dei documenti digitali è una preoccupazione comune in questi giorni. Non vuoi che nessuna persona non autorizzata modifichi il contenuto dei tuoi documenti. Diventa quindi inevitabile utilizzare meccanismi di protezione efficaci. Di conseguenza, in questo articolo, ti mostreremo come proteggere le presentazioni PPT/PPTX dalle tue applicazioni .NET. Lo realizzeremo bloccando le forme in un PowerPoint PPT o PPTX in C#.

API C# .NET per bloccare le forme in PowerPoint PPT

Per bloccare e sbloccare le presentazioni PowerPoint, utilizzeremo Aspose.Slides for .NET. L’API fornisce una gamma di funzionalità per creare e manipolare presentazioni PowerPoint. Puoi scaricare la DLL dell’API o installarla utilizzando NuGet.

PM> Install-Package Aspose.Slides.NET

Blocca forme in PowerPoint PPT in C#

Una presentazione PowerPoint può contenere una varietà di elementi come testo, immagini, audio, ecc. Aspose.Slides per .NET prende ogni elemento come una forma o un oggetto derivato da Shape. Quindi, per proteggere il contenuto delle presentazioni, dobbiamo bloccare tutte le loro forme. Aspose.Slides fornisce i blocchi appropriati per i seguenti tipi di forme.

  • Forma automatica
  • Forma di gruppo
  • Connettore
  • Cornice

I passaggi seguenti mostrano come bloccare le forme in un PPT di PowerPoint in C#.

  • Innanzitutto, carica il file PPT/PPTX utilizzando la classe Presentation.
  • Quindi, ottieni le diapositive nella presentazione usando la proprietà Presentation.Slides.
  • Per ogni diapositiva, accedi alle sue forme usando la raccolta ISlide.Shapes.
  • Per ogni forma nella raccolta, eseguire i seguenti passaggi:
    • Controlla il tipo della forma.
    • Utilizzare una serratura appropriata in base al tipo di forma.
  • Infine, salva la presentazione usando il metodo Presentation.Save(string, SaveFormat).

Nell’esempio di codice seguente viene illustrato come bloccare le forme in un PowerPoint PPTX usando C#.

// Carica presentazione
using (Presentation presentation = new Presentation("presentation.pptx"))
{
    // Oggetto IShape per contenere forme temporanee
    IShape shape;

    // Scorri tutte le diapositive della presentazione
    for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
    {
        var slide = presentation.Slides[slideCount];

        // Attraversa tutte le forme nelle diapositive
        for (int count = 0; count < slide.Shapes.Count; count++)
        {
            shape = slide.Shapes[count];

            // Se la forma è forma automatica
            if (shape is IAutoShape)
            {
                // Digita cast to auto shape e ottieni il blocco automatico della forma
                IAutoShape Ashp = shape as IAutoShape;
                IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;

                // Applicare blocchi di forma
                AutoShapeLock.PositionLocked = true;
                AutoShapeLock.SelectLocked = true;
                AutoShapeLock.SizeLocked = true;
            }

            // Se la forma è forma di gruppo
            else if (shape is IGroupShape)
            {
                // Digita cast to group shape e ottieni il blocco della forma del gruppo
                IGroupShape Group = shape as IGroupShape;
                IGroupShapeLock groupShapeLock = Group.ShapeLock;

                // Applicare blocchi di forma
                groupShapeLock.GroupingLocked = true;
                groupShapeLock.PositionLocked = true;
                groupShapeLock.SelectLocked = true;
                groupShapeLock.SizeLocked = true;
            }

            // Se la forma è un connettore
            else if (shape is IConnector)
            {
                // Digita cast to connector shape e ottieni il blocco della forma del connettore
                IConnector Conn = shape as IConnector;
                IConnectorLock ConnLock = Conn.ShapeLock;

                // Applicare blocchi di forma
                ConnLock.PositionMove = true;
                ConnLock.SelectLocked = true;
                ConnLock.SizeLocked = true;
            }

            // Se la forma è cornice
            else if (shape is IPictureFrame)
            {
                // Digita cast to pitcture frame shape e ottieni il blocco della forma della cornice dell'immagine
                IPictureFrame Pic = shape as IPictureFrame;
                IPictureFrameLock PicLock = Pic.ShapeLock;

                // Applicare blocchi di forma
                PicLock.PositionLocked = true;
                PicLock.SelectLocked = true;
                PicLock.SizeLocked = true;
            }
        }
    }

    // Salva presentazione
    presentation.Save("locked-ppt.pptx", SaveFormat.Pptx);
}

Sblocca presentazioni PowerPoint in C#

Per sbloccare le forme e renderle modificabili, dovrai disattivare i lucchetti. Tieni presente che se hai bloccato le forme utilizzando Aspose.Slides per .NET, dovrai utilizzare la stessa API per lo sblocco. Lo sblocco viene eseguito disabilitando i blocchi di forma e impostandone i valori su false.

L’esempio di codice seguente mostra come sbloccare le forme in un file PPTX in C#.

// Carica presentazione
using (Presentation presentation = new Presentation("locked-ppt.ppt"))
{
    // Oggetto IShape per contenere forme temporanee
    IShape shape;

    // Scorri tutte le diapositive della presentazione
    for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
    {
        var slide = presentation.Slides[slideCount];

        // Attraversa tutte le forme nelle diapositive
        for (int count = 0; count < slide.Shapes.Count; count++)
        {
            shape = slide.Shapes[count];

            // Se la forma è forma automatica
            if (shape is IAutoShape)
            {
                // Digita cast to auto shape e ottieni il blocco automatico della forma
                IAutoShape Ashp = shape as IAutoShape;
                IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;

                // Sblocca la forma
                AutoShapeLock.PositionLocked = false;
                AutoShapeLock.SelectLocked = false;
                AutoShapeLock.SizeLocked = false;
            }

            // Se la forma è forma di gruppo
            else if (shape is IGroupShape)
            {
                // Digita cast to group shape e ottieni il blocco della forma del gruppo
                IGroupShape Group = shape as IGroupShape;
                IGroupShapeLock groupShapeLock = Group.ShapeLock;

                // Sblocca la forma
                groupShapeLock.GroupingLocked = false;
                groupShapeLock.PositionLocked = false;
                groupShapeLock.SelectLocked = false;
                groupShapeLock.SizeLocked = false;
            }

            // Se la forma è un connettore
            else if (shape is IConnector)
            {
                // Digita cast to connector shape e ottieni il blocco della forma del connettore
                IConnector Conn = shape as IConnector;
                IConnectorLock ConnLock = Conn.ShapeLock;

                // Sblocca la forma
                ConnLock.PositionMove = false;
                ConnLock.SelectLocked = false;
                ConnLock.SizeLocked = false;
            }

            // Se la forma è cornice
            else if (shape is IPictureFrame)
            {
                // Digita cast to pitcture frame shape e ottieni il blocco della forma della cornice dell'immagine
                IPictureFrame Pic = shape as IPictureFrame;
                IPictureFrameLock PicLock = Pic.ShapeLock;

                // Sblocca la forma
                PicLock.PositionLocked = false;
                PicLock.SelectLocked = false;
                PicLock.SizeLocked = false;
            }
        }
    }

    // Salva presentazione
    presentation.Save("unlocked-ppt.ppt", SaveFormat.Ppt);
}

Ottieni una licenza gratuita

Usa Aspose.Slides per .NET senza limitazioni di valutazione ottenendo una licenza temporanea gratuita.

Conclusione

In questo articolo, hai imparato come bloccare le forme in PowerPoint PPT/PPTX in C#. Inoltre, hai visto come rimuovere la protezione delle presentazioni sbloccando le loro forme a livello di codice. Oltre a questo, puoi esplorare di più su Aspose.Slides per .NET visitando la documentazione. Inoltre, puoi inviare le tue domande al nostro forum.

Guarda anche