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# API’si
- PowerPoint PPT Şekillerini C# ile Kilitleyin
- PowerPoint PPT’de Şekillerin Kilidini Açın
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.