C# dilinde PowerPoint PPT'de şekillerin kilidini açmayı kilitleyin

Dijital belgelerin korunması bugünlerde yaygın bir endişe kaynağıdır. Yetkisiz herhangi bir kişinin belgelerinizin içeriğini değiştirmesini istemezsiniz. Bu nedenle etkin koruma mekanizmalarının kullanılması kaçınılmaz hale gelmektedir. Buna göre, bu yazıda size PPT/PPTX sunumlarını .NET uygulamalarınızdan nasıl koruyacağınızı göstereceğiz. Bunu, C#’ta bir PowerPoint PPT veya PPTX içindeki şekilleri kilitleyerek başaracağız.

PowerPoint PPT’de Şekilleri Kilitlemek için C# .NET API

PowerPoint sunumlarını kilitlemek ve kilidini açmak için Aspose.Slides for .NET kullanacağız. API, PowerPoint sunumları oluşturmak ve değiştirmek için bir dizi özellik sağlar. API’nin DLL’sini indirebilir veya NuGet kullanarak yükleyebilirsiniz.

PM> Install-Package Aspose.Slides.NET

C# ile PowerPoint PPT’de Şekilleri Kilitle

Bir PowerPoint sunumu metin, resimler, ses vb. gibi çeşitli öğeler içerebilir. Aspose.Slides for .NET her öğeyi bir Şekil veya Şekil’den türetilmiş bir nesne olarak alır. Dolayısıyla sunumların içeriğini korumak için tüm şekillerini kilitlememiz gerekiyor. Aspose.Slides, aşağıdaki şekil türleri için uygun kilitler sağlar.

  • Otomatik Şekil
  • Grup Şekli
  • Bağlayıcı
  • Çerçeve

Aşağıdaki adımlar, C# dilinde bir PowerPoint PPT’de şekillerin nasıl kilitleneceğini gösterir.

  • Önce Presentation sınıfını kullanarak PPT/PPTX dosyasını yükleyin.
  • Ardından Presentation.Slides özelliğini kullanarak sunumdaki slaytları alın.
  • Her slayt için, ISlide.Shapes koleksiyonunu kullanarak şekillerine erişin.
  • Koleksiyondaki her şekil için aşağıdaki adımları gerçekleştirin:
    • Şeklin türünü kontrol edin.
    • Şeklin türüne göre uygun kilidi kullanın.
  • Son olarak Presentation.Save(string, SaveFormat) yöntemini kullanarak sunuyu kaydedin.

Aşağıdaki kod örneği, C# kullanarak bir PowerPoint PPTX’te şekillerin nasıl kilitleneceğini gösterir.

// Sunumu yükle
using (Presentation presentation = new Presentation("presentation.pptx"))
{
    // Geçici şekilleri tutmak için IShape nesnesi
    IShape shape;

    // Sunudaki tüm slaytlarda gezinin
   for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
    {
        var slide = presentation.Slides[slideCount];

        // Slaytlardaki tüm şekillerde gezinin
       for (int count = 0; count < slide.Shapes.Count; count++)
        {
            shape = slide.Shapes[count];

            // şekil otomatik şekil ise
            if (shape is IAutoShape)
            {
                // Otomatik şekle dökme yazın ve otomatik şekil kilidi alın
                IAutoShape Ashp = shape as IAutoShape;
                IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;

                // Şekil kilitlerini uygula
                AutoShapeLock.PositionLocked = true;
                AutoShapeLock.SelectLocked = true;
                AutoShapeLock.SizeLocked = true;
            }

            // Şekil grup şekli ise
            else if (shape is IGroupShape)
            {
                // Grup şekline döküm yazın ve grup şekli kilidini alın
                IGroupShape Group = shape as IGroupShape;
                IGroupShapeLock groupShapeLock = Group.ShapeLock;

                // Şekil kilitlerini uygula
                groupShapeLock.GroupingLocked = true;
                groupShapeLock.PositionLocked = true;
                groupShapeLock.SelectLocked = true;
                groupShapeLock.SizeLocked = true;
            }

            // Şekil bir bağlayıcı ise
            else if (shape is IConnector)
            {
                // Konektör şekline döküm yazın ve konektör şekli kilidini alın
                IConnector Conn = shape as IConnector;
                IConnectorLock ConnLock = Conn.ShapeLock;

                // Şekil kilitlerini uygula
                ConnLock.PositionMove = true;
                ConnLock.SelectLocked = true;
                ConnLock.SizeLocked = true;
            }

            // şekil resim çerçevesi ise
            else if (shape is IPictureFrame)
            {
                // Resim çerçevesi şekline dökme yazın ve resim çerçevesi şekli kilidini alın
                IPictureFrame Pic = shape as IPictureFrame;
                IPictureFrameLock PicLock = Pic.ShapeLock;

                // Şekil kilitlerini uygula
                PicLock.PositionLocked = true;
                PicLock.SelectLocked = true;
                PicLock.SizeLocked = true;
            }
        }
    }

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

C#’ta PowerPoint Sunumlarının Kilidini Açın

Şekillerin kilidini açmak ve düzenlenebilir hale getirmek için kilitleri kapatmanız gerekir. Aspose.Slides for .NET kullanarak şekilleri kilitlediyseniz, kilidi açmak için aynı API’yi kullanmanız gerekeceğini lütfen unutmayın. Kilit açma, şekil kilitlerini devre dışı bırakarak ve değerlerini yanlış olarak ayarlayarak yapılır.

Aşağıdaki kod örneği, C# dilinde bir PPTX dosyasındaki şekillerin kilidinin nasıl açılacağını gösterir.

// Sunumu yükle
using (Presentation presentation = new Presentation("locked-ppt.ppt"))
{
    // Geçici şekilleri tutmak için IShape nesnesi
    IShape shape;

    // Sunudaki tüm slaytlarda gezinin
   for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
    {
        var slide = presentation.Slides[slideCount];

        // Slaytlardaki tüm şekiller arasında gezinin
       for (int count = 0; count < slide.Shapes.Count; count++)
        {
            shape = slide.Shapes[count];

            // şekil otomatik şekil ise
            if (shape is IAutoShape)
            {
                // Otomatik şekle dökme yazın ve otomatik şekil kilidi alın
                IAutoShape Ashp = shape as IAutoShape;
                IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;

                // Şeklin kilidini aç
                AutoShapeLock.PositionLocked = false;
                AutoShapeLock.SelectLocked = false;
                AutoShapeLock.SizeLocked = false;
            }

            // Şekil grup şekli ise
            else if (shape is IGroupShape)
            {
                // Grup şekline döküm yazın ve grup şekli kilidini alın
                IGroupShape Group = shape as IGroupShape;
                IGroupShapeLock groupShapeLock = Group.ShapeLock;

                // Şeklin kilidini aç
                groupShapeLock.GroupingLocked = false;
                groupShapeLock.PositionLocked = false;
                groupShapeLock.SelectLocked = false;
                groupShapeLock.SizeLocked = false;
            }

            // Şekil bir bağlayıcı ise
            else if (shape is IConnector)
            {
                // Konektör şekline döküm yazın ve konektör şekli kilidini alın
                IConnector Conn = shape as IConnector;
                IConnectorLock ConnLock = Conn.ShapeLock;

                // Şeklin kilidini aç
                ConnLock.PositionMove = false;
                ConnLock.SelectLocked = false;
                ConnLock.SizeLocked = false;
            }

            // şekil resim çerçevesi ise
            else if (shape is IPictureFrame)
            {
                // Resim çerçevesi şekline dökme yazın ve resim çerçevesi şekli kilidini alın
                IPictureFrame Pic = shape as IPictureFrame;
                IPictureFrameLock PicLock = Pic.ShapeLock;

                // Şeklin kilidini aç
                PicLock.PositionLocked = false;
                PicLock.SelectLocked = false;
                PicLock.SizeLocked = false;
            }
        }
    }

    // Sunumu kaydet
    presentation.Save("unlocked-ppt.ppt", SaveFormat.Ppt);
}

Ücretsiz Lisans Alın

Ücretsiz geçici lisans alarak değerlendirme sınırlamaları olmadan Aspose.Slides for .NET’i kullanın.

Çözüm

Bu makalede, C# dilinde PowerPoint PPT/PPTX’te şekillerin nasıl kilitleneceğini öğrendiniz. Ayrıca, programlı olarak şekillerini açarak sunumların korumasını nasıl kaldıracağınızı gördünüz. Bunun dışında, belgeleri ziyaret ederek Aspose.Slides for .NET hakkında daha fazlasını keşfedebilirsiniz. Ayrıca, sorularınızı forumumuza gönderebilirsiniz.

Ayrıca bakınız