Sunum Kilitleme

Sunum Kilitleme

Aspose.Slides‘in yaygın bir kullanımı, otomatik bir iş akışının parçası olarak Microsoft PowerPoint 2007 (PPTX) sunumlarını oluşturmak, güncellemek ve kaydetmektir. Bu şekilde Aspose.Slides kullanan uygulamanın kullanıcıları, çıktı sunumlarına erişir. Bu sunumları düzenlemeden korumak yaygın bir endişedir. Otomatik oluşturulan sunumların orijinal biçimlendirme ve içeriklerini koruması önemlidir.

Bu bölüm, sunumların ve slaytların nasıl oluşturulduğunu ve Aspose.Slides for .NET’in bir sunuma nasıl koruma uygulayıp ardından kaldırabileceğini açıklar. Bu özellik Aspose.Slides’e özgüdür ve yazının yazıldığı tarihte Microsoft PowerPoint’te bulunmamaktadır. Geliştiricilere, uygulamalarının oluşturduğu sunumların nasıl kullanılacağını kontrol etme olanağı sağlar.

Bir Slaytın Bileşimi

Bir PPTX slaytı, otomatik şekiller, tablolar, OLE nesneleri, gruplanmış şekiller, resim çerçeveleri, video çerçeveleri, bağlayıcılar ve sunum oluşturmak için mevcut olan çeşitli diğer öğeler gibi birçok bileşenden oluşur.

Aspose.Slides for .NET içinde, bir slayttaki her öğe bir Shape nesnesine dönüşür. Başka bir deyişle, slayttaki her öğe ya bir Shape nesnesi ya da Shape nesnesinden türetilen bir nesnedir.

PPTX yapısı karmaşıktır, bu nedenle PPT’de tüm şekil tipleri için genel bir kilit kullanılabilmesine karşılık, farklı şekil tipleri için farklı kilit türleri bulunur. BaseShapeLock sınıfı genel PPTX kilitleme sınıfıdır. Aspose.Slides for .NET PPTX için aşağıdaki kilit türlerini destekler.

  • AutoShapeLock otomatik şekilleri kilitler.
  • ConnectorLock bağlayıcı şekilleri kilitler.
  • GraphicalObjectLock grafik nesneleri kilitler.
  • GroupshapeLock grup şekilleri kilitler.
  • PictureFrameLock resim çerçevelerini kilitler.

Bir Presentation nesnesindeki tüm Shape nesneleri üzerinde yapılan herhangi bir işlem bütün sunuma uygulanır.

Koruma Uygulama ve Kaldırma

Koruma uygulamak, bir sunumun düzenlenememesini sağlar. Sunum içeriğini korumak için yararlı bir tekniktir.

PPTX Şekillerine Koruma Uygulama

Aspose.Slides for .NET, slayttaki bir şekli yönetmek için Shape sınıfını sunar.

Daha önce belirtildiği gibi, her şekil sınıfının koruma için ilişkili bir şekil kilidi sınıfı vardır. Bu makale NoSelect, NoMove ve NoResize kilitlerine odaklanmaktadır. Bu kilitler, şekillerin seçilememesini (fare tıklamaları veya diğer seçim yöntemleriyle) ve taşınamamasını ya da yeniden boyutlandırılamamasını sağlar.

Aşağıdaki kod örnekleri, bir sunumda bulunan tüm şekil türlerine koruma uygular.


 //PPTX dosyasını temsil eden Presentation sınıfını başlat

PresentationEx pTemplate = new PresentationEx("Applying Protection.pptx");//PPTX dosyasını temsil eden Presentation sınıfını başlat


//Sunumdaki slaytlara erişmek için ISlide nesnesi

SlideEx slide = pTemplate.Slides[0];

//Geçici şekilleri tutmak için IShape nesnesi

ShapeEx shape;

//Sunumdaki tüm slaytlar arasında gezinme

for (int slideCount = 0; slideCount < pTemplate.Slides.Count; slideCount++)

{

	slide = pTemplate.Slides[slideCount];

	//Slaytlardaki tüm şekiller arasında gezinme

	for (int count = 0; count < slide.Shapes.Count; count++)

	{

		shape = slide.Shapes[count];

		//eğer şekil otomatik şekil ise

		if (shape is AutoShapeEx)

		{

			//Auto shape'e tip dönüşümü ve otomatik şekil kilidi alınması

			AutoShapeEx Ashp = shape as AutoShapeEx;

			AutoShapeLockEx AutoShapeLock = Ashp.ShapeLock;

			//Şekil kilitleri uygulanıyor

			AutoShapeLock.PositionLocked = true;

			AutoShapeLock.SelectLocked = true;

			AutoShapeLock.SizeLocked = true;

		}

		//eğer şekil grup şekli ise

		else if (shape is GroupShapeEx)

		{

			//Group shape'e tip dönüşümü ve grup şekil kilidi alınması

			GroupShapeEx Group = shape as GroupShapeEx;

			GroupShapeLockEx groupShapeLock = Group.ShapeLock;

			//Şekil kilitleri uygulanıyor

			groupShapeLock.GroupingLocked = true;

			groupShapeLock.PositionLocked = true;

			groupShapeLock.SelectLocked = true;

			groupShapeLock.SizeLocked = true;

		}

		//eğer şekil bir bağlayıcı ise

		else if (shape is ConnectorEx)

		{

			//Connector şekline tip dönüşümü ve bağlayıcı şekil kilidi alınması

			ConnectorEx Conn = shape as ConnectorEx;

			ConnectorLockEx ConnLock = Conn.ShapeLock;

			//Şekil kilitleri uygulanıyor

			ConnLock.PositionMove = true;

			ConnLock.SelectLocked = true;

			ConnLock.SizeLocked = true;

		}

		//eğer şekil resim çerçevesi ise

		else if (shape is PictureFrameEx)

		{

			//Picture frame şekline tip dönüşümü ve resim çerçevesi şekil kilidi alınması

			PictureFrameEx Pic = shape as PictureFrameEx;

			PictureFrameLockEx PicLock = Pic.ShapeLock;

			//Şekil kilitleri uygulanıyor

			PicLock.PositionLocked = true;

			PicLock.SelectLocked = true;

			PicLock.SizeLocked = true;

		}

	}

}

//Sunum dosyası kaydediliyor

pTemplate.Save("ProtectedSample.pptx", Aspose.Slides.Export.SaveFormat.Pptx);

Koruma Kaldırma

Aspose.Slides for .NET kullanılarak uygulanan koruma yalnızca Aspose.Slides for .NET ile kaldırılabilir. Bir şeklin kilidini kaldırmak için uygulanan kilidin değerini false olarak ayarlayın. Aşağıdaki kod örneği, kilitli bir sunumda şekillerin nasıl kilidinin açılacağını gösterir.


 //İstenen sunumu aç
PresentationEx pTemplate = new PresentationEx("ProtectedSample.pptx");

//Sunumdaki slaytlara erişmek için ISlide nesnesi
SlideEx slide = pTemplate.Slides[0];

//Geçici şekilleri tutmak için IShape nesnesi
ShapeEx shape;

//Sunumdaki tüm slaytlar arasında gezinme
for (int slideCount = 0; slideCount < pTemplate.Slides.Count; slideCount++)
{
	slide = pTemplate.Slides[slideCount];
	//Slaytlardaki tüm şekiller arasında gezinme
	for (int count = 0; count < slide.Shapes.Count; count++)
	{
		shape = slide.Shapes[count];
		//eğer şekil otomatik şekil ise
		if (shape is AutoShapeEx)
		{
			//Auto shape'e tip dönüşümü ve otomatik şekil kilidi alınması
			AutoShapeEx Ashp = shape as AutoShapeEx;
			AutoShapeLockEx AutoShapeLock = Ashp.ShapeLock;
			//Şekil kilitleri uygulanıyor
			AutoShapeLock.PositionLocked = false;
			AutoShapeLock.SelectLocked = false;
			AutoShapeLock.SizeLocked = false;
		}
		//eğer şekil grup şekli ise
		else if (shape is GroupShapeEx)
		{
			//Grup şekline tip dönüşümü ve grup şekil kilidi alınması
			GroupShapeEx Group = shape as GroupShapeEx;
			GroupShapeLockEx groupShapeLock = Group.ShapeLock;
			//Şekil kilitleri uygulanıyor
			groupShapeLock.GroupingLocked = false;
			groupShapeLock.PositionLocked = false;
			groupShapeLock.SelectLocked = false;
			groupShapeLock.SizeLocked = false;
		}
		//eğer şekil bağlayıcı şekli ise
		else if (shape is ConnectorEx)
		{
			//Bağlayıcı şekle tip dönüşümü ve bağlayıcı şekil kilidi alınması
			ConnectorEx Conn = shape as ConnectorEx;
			ConnectorLockEx ConnLock = Conn.ShapeLock;
			//Şekil kilitleri uygulanıyor
			ConnLock.PositionMove = false;
			ConnLock.SelectLocked = false;
			ConnLock.SizeLocked = false;
		}
		//eğer şekil resim çerçevesi ise
		else if (shape is PictureFrameEx)
		{
			//Resim çerçevesi şekline tip dönüşümü ve resim çerçevesi şekil kilidi alınması
			PictureFrameEx Pic = shape as PictureFrameEx;
			PictureFrameLockEx PicLock = Pic.ShapeLock;
			//Şekil kilitleri uygulanıyor
			PicLock.PositionLocked = false;
			PicLock.SelectLocked = false;
			PicLock.SizeLocked = false;
		}
	}
}

//Sunum dosyası kaydediliyor
pTemplate.Save("RemoveProtectionSample.pptx", Aspose.Slides.Export.SaveFormat.Pptx);

Örnek Kodu İndir