Zamknout odemknout tvary v PowerPoint PPT v C#

Ochrana digitálních dokumentů je v dnešní době běžnou záležitostí. Nechcete, aby neoprávněná osoba měnila obsah vašich dokumentů. Proto je nevyhnutelné používat účinné ochranné mechanismy. Proto vám v tomto článku ukážeme, jak chránit prezentace PPT/PPTX z vašich aplikací .NET. Toho dosáhneme uzamčením tvarů v PowerPointu PPT nebo PPTX v C#.

C# .NET API pro uzamčení tvarů v PowerPoint PPT

K zamykání a odemykání prezentací v PowerPointu použijeme Aspose.Slides for .NET. Rozhraní API poskytuje řadu funkcí pro vytváření a manipulaci s prezentacemi PowerPoint. Můžete si stáhnout DLL API nebo ji nainstalovat pomocí NuGet.

PM> Install-Package Aspose.Slides.NET

Uzamknout tvary v PowerPointu PPT v C#

PowerPointová prezentace může obsahovat různé prvky, jako je text, obrázky, zvuk atd. Aspose.Slides for .NET bere každý prvek jako tvar nebo objekt odvozený z tvaru. Abychom ochránili obsah prezentací, musíme zamknout všechny jejich tvary. Aspose.Slides poskytuje vhodné zámky pro následující typy tvarů.

  • Automatický tvar
  • Tvar skupiny
  • Konektor
  • Rám obrazu

Následující kroky ukazují, jak zamknout obrazce v PowerPoint PPT v C#.

  • Nejprve načtěte soubor PPT/PPTX pomocí třídy Presentation.
  • Poté získejte snímky v prezentaci pomocí vlastnosti Presentation.Slides.
  • Pro každý snímek získáte přístup k jeho tvarům pomocí kolekce ISlide.Shapes.
  • Pro každý tvar v kolekci proveďte následující kroky:
    • Zkontrolujte typ tvaru.
    • Použijte vhodný zámek podle typu tvaru.
  • Nakonec prezentaci uložte pomocí metody Presentation.Save(string, SaveFormat).

Následující ukázka kódu ukazuje, jak uzamknout obrazce v PowerPoint PPTX pomocí C#.

// Načíst prezentaci
using (Presentation presentation = new Presentation("presentation.pptx"))
{
    // IShape objekt pro uchovávání dočasných tvarů
    IShape shape;

    // Procházejte všechny snímky v prezentaci
   for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
    {
        var slide = presentation.Slides[slideCount];

        // Procházejte všechny tvary na snímcích
       for (int count = 0; count < slide.Shapes.Count; count++)
        {
            shape = slide.Shapes[count];

            // Pokud je tvar automatický tvar
            if (shape is IAutoShape)
            {
                // Zadejte cast do automatického tvaru a získejte zámek automatického tvaru
                IAutoShape Ashp = shape as IAutoShape;
                IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;

                // Použijte tvarové zámky
                AutoShapeLock.PositionLocked = true;
                AutoShapeLock.SelectLocked = true;
                AutoShapeLock.SizeLocked = true;
            }

            // Pokud tvar je tvar skupiny
            else if (shape is IGroupShape)
            {
                // Zadejte cast do tvaru skupiny a získejte zámek tvaru skupiny
                IGroupShape Group = shape as IGroupShape;
                IGroupShapeLock groupShapeLock = Group.ShapeLock;

                // Použijte tvarové zámky
                groupShapeLock.GroupingLocked = true;
                groupShapeLock.PositionLocked = true;
                groupShapeLock.SelectLocked = true;
                groupShapeLock.SizeLocked = true;
            }

            // Pokud je tvar spojnicí
            else if (shape is IConnector)
            {
                // Zadejte tvar odlitku do tvaru konektoru a získejte zámek tvaru konektoru
                IConnector Conn = shape as IConnector;
                IConnectorLock ConnLock = Conn.ShapeLock;

                // Použijte tvarové zámky
                ConnLock.PositionMove = true;
                ConnLock.SelectLocked = true;
                ConnLock.SizeLocked = true;
            }

            // Pokud tvar je rám obrazu
            else if (shape is IPictureFrame)
            {
                // Zadejte odlitý do tvaru rámu obrazu a získejte zámek tvaru rámu obrazu
                IPictureFrame Pic = shape as IPictureFrame;
                IPictureFrameLock PicLock = Pic.ShapeLock;

                // Použijte tvarové zámky
                PicLock.PositionLocked = true;
                PicLock.SelectLocked = true;
                PicLock.SizeLocked = true;
            }
        }
    }

    // Uložit prezentaci
    presentation.Save("locked-ppt.pptx", SaveFormat.Pptx);
}

Odemkněte PowerPointové prezentace v C#

Chcete-li tvary odemknout a upravit je, budete muset zámky vypnout. Vezměte prosím na vědomí, že pokud jste zamkli tvary pomocí Aspose.Slides pro .NET, budete muset pro odemknutí použít stejné API. Odemknutí se provádí deaktivací zámků tvaru a nastavením jejich hodnot na false.

Následující ukázka kódu ukazuje, jak odemknout obrazce v souboru PPTX v jazyce C#.

// Načíst prezentaci
using (Presentation presentation = new Presentation("locked-ppt.ppt"))
{
    // IShape objekt pro uchovávání dočasných tvarů
    IShape shape;

    // Procházejte všechny snímky v prezentaci
   for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
    {
        var slide = presentation.Slides[slideCount];

        // Procházejte všechny tvary na snímcích
       for (int count = 0; count < slide.Shapes.Count; count++)
        {
            shape = slide.Shapes[count];

            // Pokud je tvar automatický tvar
            if (shape is IAutoShape)
            {
                // Zadejte cast do automatického tvaru a získejte zámek automatického tvaru
                IAutoShape Ashp = shape as IAutoShape;
                IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;

                // Odemknout tvar
                AutoShapeLock.PositionLocked = false;
                AutoShapeLock.SelectLocked = false;
                AutoShapeLock.SizeLocked = false;
            }

            // Pokud tvar je tvar skupiny
            else if (shape is IGroupShape)
            {
                // Zadejte cast do tvaru skupiny a získejte zámek tvaru skupiny
                IGroupShape Group = shape as IGroupShape;
                IGroupShapeLock groupShapeLock = Group.ShapeLock;

                // Odemknout tvar
                groupShapeLock.GroupingLocked = false;
                groupShapeLock.PositionLocked = false;
                groupShapeLock.SelectLocked = false;
                groupShapeLock.SizeLocked = false;
            }

            // Pokud je tvar spojnicí
            else if (shape is IConnector)
            {
                // Zadejte tvar odlitku do tvaru konektoru a získejte zámek tvaru konektoru
                IConnector Conn = shape as IConnector;
                IConnectorLock ConnLock = Conn.ShapeLock;

                // Odemknout tvar
                ConnLock.PositionMove = false;
                ConnLock.SelectLocked = false;
                ConnLock.SizeLocked = false;
            }

            // Pokud tvar je rám obrazu
            else if (shape is IPictureFrame)
            {
                // Zadejte odlitý do tvaru rámu obrazu a získejte zámek tvaru rámu obrazu
                IPictureFrame Pic = shape as IPictureFrame;
                IPictureFrameLock PicLock = Pic.ShapeLock;

                // Odemknout tvar
                PicLock.PositionLocked = false;
                PicLock.SelectLocked = false;
                PicLock.SizeLocked = false;
            }
        }
    }

    // Uložit prezentaci
    presentation.Save("unlocked-ppt.ppt", SaveFormat.Ppt);
}

Získejte bezplatnou licenci

Používejte Aspose.Slides pro .NET bez omezení hodnocení získáním bezplatné dočasné licence.

Závěr

V tomto článku jste se naučili, jak zamknout obrazce v PowerPointu PPT/PPTX v C#. Dále jste viděli, jak zrušit ochranu prezentací programovým odemknutím jejich tvarů. Kromě toho můžete prozkoumat více o Aspose.Slides pro .NET návštěvou dokumentace. Také můžete své dotazy posílat na naše fórum.

Viz také