การล็อกการนำเสนอ
การล็อกการนำเสนอ
การใช้ทั่วไปของ Aspose.Slides คือการสร้าง, ปรับปรุง และบันทึกการนำเสนอ Microsoft PowerPoint 2007 (PPTX) เป็นส่วนหนึ่งของกระบวนการทำงานอัตโนมัติ ผู้ใช้แอปพลิเคชันที่ใช้ Aspose.Slides แบบนี้จะได้รับการเข้าถึงการนำเสนอผลลัพธ์ การปกป้องไม่ให้มีการแก้ไขเป็นความกังวลทั่วไป สิ่งสำคัญคือการนำเสนอที่สร้างโดยอัตโนมัติต้องรักษารูปแบบและเนื้อหาต้นฉบับไว้
นี่อธิบายว่าการนำเสนอและสไลด์ถูกสร้างอย่างไรและ Aspose.Slides for .NET สามารถใช้การปกป้องและจากนั้นลบออกจากการนำเสนอได้อย่างไร คุณลักษณะนี้เป็นเอกลักษณ์ของ Aspose.Slides และ ณ เวลาเขียน ยังไม่มีให้ใน Microsoft PowerPoint มันให้วิธีการแก่ผู้พัฒนาในการควบคุมการใช้งานการนำเสนอที่แอปพลิเคชันของพวกเขาสร้างขึ้น
ส่วนประกอบของสไลด์
สไลด์ PPTX ประกอบด้วยส่วนประกอบหลายอย่าง เช่น รูปร่างอัตโนมัติ, ตาราง, วัตถุ OLE, รูปร่างที่จัดกลุ่ม, กรอบรูปภาพ, กรอบวิดีโอ, ตัวเชื่อมต่อและองค์ประกอบอื่น ๆ ที่ใช้สร้างการนำเสนอ
ใน Aspose.Slides for .NET แต่ละองค์ประกอบบนสไลด์จะถูกแปลงเป็นอ็อบเจ็กต์ Shape กล่าวคือ แต่ละองค์ประกอบบนสไลด์จะเป็นอ็อบเจ็กต์ Shape หรืออ็อบเจ็กต์ที่สืบทอดจาก Shape
โครงสร้างของ PPTX มีความซับซ้อน ดังนั้นไม่เหมือน PPT ที่สามารถใช้การล็อกทั่วไปกับทุกประเภทของรูปร่าง มีประเภทการล็อกต่าง ๆ สำหรับแต่ละประเภทของรูปร่าง คลาส BaseShapeLock เป็นคลาสการล็อกทั่วไปของ PPTX ประเภทการล็อกต่อไปนี้ได้รับการสนับสนุนใน Aspose.Slides for .NET สำหรับ PPTX
- AutoShapeLock ล็อกรูปร่างอัตโนมัติ.
- ConnectorLock ล็อกรูปร่างเชื่อมต่อ.
- GraphicalObjectLock ล็อกวัตถุกราฟิก.
- GroupshapeLock ล็อกรูปร่างกลุ่ม.
- PictureFrameLock ล็อกกรอบรูปภาพ.
การกระทำใด ๆ ที่ทำบนอ็อบเจ็กต์ Shape ทั้งหมดในอ็อบเจ็กต์ Presentation จะถูกนำไปใช้กับการนำเสนอทั้งหมด.
การใช้และลบการปกป้อง
การใช้การปกป้องทำให้แน่ใจว่าการนำเสนอไม่สามารถแก้ไขได้ เป็นเทคนิคที่มีประโยชน์สำหรับการปกป้องเนื้อหาของการนำเสนอ
การใช้การปกป้องกับ Shape ของ PPTX
Aspose.Slides for .NET มีคลาส Shape เพื่อจัดการกับรูปร่างบนสไลด์
เช่นที่กล่าวไปก่อนหน้านี้ แต่ละคลาสของรูปร่างมีคลาสล็อกรูปร่างที่เกี่ยวข้องสำหรับการปกป้อง บทความนี้มุ่งเน้นที่การล็อก NoSelect, NoMove และ NoResize การล็อกเหล่านี้ทำให้แน่ใจว่ารูปร่างไม่สามารถถูกเลือก (ผ่านการคลิกเมาส์หรือวิธีการเลือกอื่น) และไม่สามารถย้ายหรือเปลี่ยนขนาดได้
ตัวอย่างโค้ดต่อไปนี้ใช้การปกป้องกับทุกประเภทของรูปร่างในการนำเสนอ.
//สร้างอินสแตนซ์ของคลาส Presentation ที่แทนไฟล์ PPTX
PresentationEx pTemplate = new PresentationEx("Applying Protection.pptx");//สร้างอินสแตนซ์ของคลาส Presentation ที่แทนไฟล์ PPTX
//อ็อบเจ็กต์ ISlide สำหรับเข้าถึงสไลด์ในงานนำเสนอ
SlideEx slide = pTemplate.Slides[0];
//อ็อบเจ็กต์ IShape สำหรับเก็บรูปร่างชั่วคราว
ShapeEx shape;
//วนผ่านสไลด์ทั้งหมดในงานนำเสนอ
for (int slideCount = 0; slideCount < pTemplate.Slides.Count; slideCount++)
{
slide = pTemplate.Slides[slideCount];
//วนผ่านรูปร่างทั้งหมดในสไลด์
for (int count = 0; count < slide.Shapes.Count; count++)
{
shape = slide.Shapes[count];
//ถ้ารูปร่างเป็น autoshape
if (shape is AutoShapeEx)
{
//แปลงชนิดเป็น Auto shape และรับล็อกของ Auto shape
AutoShapeEx Ashp = shape as AutoShapeEx;
AutoShapeLockEx AutoShapeLock = Ashp.ShapeLock;
//ใช้ล็อกของรูปร่าง
AutoShapeLock.PositionLocked = true;
AutoShapeLock.SelectLocked = true;
AutoShapeLock.SizeLocked = true;
}
//ถ้ารูปร่างเป็น group shape
else if (shape is GroupShapeEx)
{
//แปลงชนิดเป็น group shape และรับล็อกของ group shape
GroupShapeEx Group = shape as GroupShapeEx;
GroupShapeLockEx groupShapeLock = Group.ShapeLock;
//ใช้ล็อกของรูปร่าง
groupShapeLock.GroupingLocked = true;
groupShapeLock.PositionLocked = true;
groupShapeLock.SelectLocked = true;
groupShapeLock.SizeLocked = true;
}
//ถ้ารูปร่างเป็น connector
else if (shape is ConnectorEx)
{
//แปลงชนิดเป็น connector shape และรับล็อกของ connector shape
ConnectorEx Conn = shape as ConnectorEx;
ConnectorLockEx ConnLock = Conn.ShapeLock;
//ใช้ล็อกของรูปร่าง
ConnLock.PositionMove = true;
ConnLock.SelectLocked = true;
ConnLock.SizeLocked = true;
}
//ถ้ารูปร่างเป็น picture frame
else if (shape is PictureFrameEx)
{
//แปลงชนิดเป็น picture frame shape และรับล็อกของ picture frame shape
PictureFrameEx Pic = shape as PictureFrameEx;
PictureFrameLockEx PicLock = Pic.ShapeLock;
//ใช้ล็อกของรูปร่าง
PicLock.PositionLocked = true;
PicLock.SelectLocked = true;
PicLock.SizeLocked = true;
}
}
}
//บันทึกไฟล์งานนำเสนอ
pTemplate.Save("ProtectedSample.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
การลบการปกป้อง
การปกป้องที่ใช้ด้วย Aspose.Slides for .NET สามารถลบได้เฉพาะด้วย Aspose.Slides for .NET เท่านั้น เพื่อปลดล็อกรูปร่าง ให้ตั้งค่าให้กับการล็อกที่ใช้งานเป็น false ตัวอย่างโค้ดต่อไปนี้แสดงวิธีปลดล็อกรูปร่างในการนำเสนอที่ถูกล็อก.
//เปิดงานนำเสนอที่ต้องการ
PresentationEx pTemplate = new PresentationEx("ProtectedSample.pptx");
//อ็อบเจ็กต์ ISlide เพื่อเข้าถึงสไลด์ในงานนำเสนอ
SlideEx slide = pTemplate.Slides[0];
//อ็อบเจ็กต์ IShape สำหรับเก็บรูปร่างชั่วคราว
ShapeEx shape;
//วนผ่านสไลด์ทั้งหมดในงานนำเสนอ
for (int slideCount = 0; slideCount < pTemplate.Slides.Count; slideCount++)
{
slide = pTemplate.Slides[slideCount];
//วนผ่านรูปร่างทั้งหมดในสไลด์
for (int count = 0; count < slide.Shapes.Count; count++)
{
shape = slide.Shapes[count];
//ถ้ารูปร่างเป็น autoshape
if (shape is AutoShapeEx)
{
//แปลงประเภทเป็น Auto shape และ รับล็อกของ auto shape
AutoShapeEx Ashp = shape as AutoShapeEx;
AutoShapeLockEx AutoShapeLock = Ashp.ShapeLock;
//กำลังใช้ล็อกของรูปร่าง
AutoShapeLock.PositionLocked = false;
AutoShapeLock.SelectLocked = false;
AutoShapeLock.SizeLocked = false;
}
//ถ้ารูปร่างเป็น group shape
else if (shape is GroupShapeEx)
{
//แปลงประเภทเป็น group shape และ รับล็อกของ group shape
GroupShapeEx Group = shape as GroupShapeEx;
GroupShapeLockEx groupShapeLock = Group.ShapeLock;
//กำลังใช้ล็อกของรูปร่าง
groupShapeLock.GroupingLocked = false;
groupShapeLock.PositionLocked = false;
groupShapeLock.SelectLocked = false;
groupShapeLock.SizeLocked = false;
}
//ถ้ารูปร่างเป็น Connector shape
else if (shape is ConnectorEx)
{
//แปลงประเภทเป็น connector shape และ รับล็อกของ connector shape
ConnectorEx Conn = shape as ConnectorEx;
ConnectorLockEx ConnLock = Conn.ShapeLock;
//กำลังใช้ล็อกของรูปร่าง
ConnLock.PositionMove = false;
ConnLock.SelectLocked = false;
ConnLock.SizeLocked = false;
}
//ถ้ารูปร่างเป็น picture frame
else if (shape is PictureFrameEx)
{
//แปลงประเภทเป็น picture frame shape และ รับล็อกของ picture frame shape
PictureFrameEx Pic = shape as PictureFrameEx;
PictureFrameLockEx PicLock = Pic.ShapeLock;
//กำลังใช้ล็อกของรูปร่าง
PicLock.PositionLocked = false;
PicLock.SelectLocked = false;
PicLock.SizeLocked = false;
}
}
}
//บันทึกไฟล์งานนำเสนอ
pTemplate.Save("RemoveProtectionSample.pptx", Aspose.Slides.Export.SaveFormat.Pptx);