ลบสไลด์จากงานนำเสนอใน Python

บทนำ

หากสไลด์ (หรือเนื้อหาภายใน) ไม่จำเป็นอีกต่อไป คุณสามารถลบมันได้ Aspose.Slides มีคลาส Presentation ที่ห่อหุ้ม SlideCollection ซึ่งเป็นคลังเก็บสไลด์ทั้งหมดในงานพรีเซนเทชัน โดยใช้การอ้างอิงหรือดัชนีไปยังอ็อบเจกต์ Slide ที่ทราบ คุณสามารถลบสไลด์เป้าหมายได้

ลบสไลด์โดยอ้างอิง

เมื่อคุณมีการอ้างอิงไปยัง Slide เป้าหมายแล้ว คุณสามารถลบมันโดยตรงได้ วิธีนี้ช่วยหลีกเลี่ยงการค้นหาดัชนีและทำให้โค้ดสั้นและชัดเจนขึ้น

  1. สร้างอินสแตนซ์ของคลาส Presentation
  2. รับการอ้างอิงไปยังสไลด์ที่คุณต้องการลบโดยใช้ ID หรือดัชนีของมัน
  3. ลบสไลด์ที่อ้างอิงออกจากพรีเซนเทชัน
  4. บันทึกพรีเซนเทชันที่แก้ไขแล้ว

ตัวอย่าง Python ด้านล่างนี้ลบสไลด์โดยอ้างอิง:

import aspose.slides as slides

# สร้างอินสแตนซ์ของคลาส Presentation เพื่อเปิดไฟล์งานนำเสนอ.
with slides.Presentation("sample.pptx") as presentation:
    # เข้าถึงสไลด์โดยใช้ดัชนีในคอลเลกชันสไลด์.
    slide = presentation.slides[0]

    # ลบสไลด์โดยอ้างอิง.
    presentation.slides.remove(slide)

    # บันทึกงานนำเสนอที่แก้ไขแล้ว.
    presentation.save("output.pptx", slides.export.SaveFormat.PPTX)

ลบสไลด์โดยดัชนี

หากคุณรู้ตำแหน่งของสไลด์ในชุด ให้ลบมันโดยใช้ดัชนี วิธีนี้มีประโยชน์อย่างยิ่งในลูปหรือการดำเนินการแบบกลุ่มที่ตำแหน่งทราบล่วงหน้า

  1. สร้างอินสแตนซ์ของคลาส Presentation
  2. ลบสไลด์โดยใช้ดัชนีของมัน
  3. บันทึกพรีเซนเทชันที่แก้ไขแล้ว

ตัวอย่าง Python นี้แสดงวิธีลบสไลด์โดยใช้ดัชนี:

import aspose.slides as slides

# สร้างอินสแตนซ์ของคลาส Presentation เพื่อเปิดไฟล์งานนำเสนอ.
with slides.Presentation("sample.pptx") as presentation:
    # ลบสไลด์โดยใช้ดัชนีของมัน.
    presentation.slides.remove_at(0)

    # บันทึกงานนำเสนอที่แก้ไขแล้ว.
    presentation.save("output.pptx", slides.export.SaveFormat.PPTX)

ลบสไลด์เลย์เอาต์ที่ไม่ได้ใช้งาน

Aspose.Slides มีเมธอด remove_unused_layout_slides ในคลาส Compress เพื่อทำการลบสไลด์เลย์เอาต์ที่ไม่ต้องการและไม่ได้ใช้ ตัวอย่าง Python ด้านล่างแสดงวิธีลบสไลด์เลย์เอาต์ที่ไม่ได้ใช้จากงานนำเสนอ PowerPoint:

import aspose.slides as slides

with slides.Presentation("sample.pptx") as presentation:
    slides.lowcode.Compress.remove_unused_layout_slides(presentation)
    presentation.save("output.pptx", slides.export.SaveFormat.PPTX)

ลบสไลด์มาสเตอร์ที่ไม่ได้ใช้งาน

Aspose.Slides มีเมธอด remove_unused_master_slides ในคลาส Compress เพื่อทำการลบมาสเตอร์สไลด์ที่ไม่ต้องการและไม่ได้ใช้ ตัวอย่าง Python ด้านล่างแสดงวิธีลบมาสเตอร์สไลด์ที่ไม่ได้ใช้จากงานนำเสนอ PowerPoint:

import aspose.slides as slides

with slides.Presentation("sample.pptx") as presentation:
    slides.lowcode.Compress.remove_unused_master_slides(presentation)
    presentation.save("output.pptx", slides.export.SaveFormat.PPTX)

คำถามที่พบบ่อย

เกิดอะไรขึ้นกับดัชนีสไลด์หลังจากที่ฉันลบสไลด์?

หลังจากการลบ collection จะทำการจัดทำดัชนีใหม่: สไลด์ถัดไปทุกสไลด์จะเลื่อนตำแหน่งหนึ่งตำแหน่งไปทางซ้าย ทำให้หมายเลขดัชนีก่อนหน้านี้ล้าสมัย หากคุณต้องการการอ้างอิงที่คงที่ ควรใช้ ID คงที่ของสไลด์แทนดัชนี

ID ของสไลด์แตกต่างจากดัชนีหรือไม่ และเปลี่ยนแปลงเมื่อสไลด์ข้างเคียงถูกลบหรือไม่?

ใช่ ดัชนีคือตำแหน่งของสไลด์และจะเปลี่ยนแปลงเมื่อสไลด์ถูกเพิ่มหรือถูกลบ ส่วน ID ของสไลด์เป็นตัวระบุที่คงที่และจะไม่เปลี่ยนแปลงเมื่อสไลด์อื่นถูกลบ

การลบสไลด์ส่งผลต่อส่วนของสไลด์อย่างไร?

หากสไลด์เป็นส่วนหนึ่งของเซ็กชัน เซ็กชันนั้นจะมีสไลด์น้อยลงหนึ่งสไลด์ โครงสร้างของเซ็กชันยังคงอยู่; หากเซ็กชันว่างเปล่า คุณสามารถ remove or reorganize sections ตามต้องการ

เกิดอะไรขึ้นกับบันทึกและความคิดเห็นที่แนบกับสไลด์เมื่อมันถูกลบ?

Notes และ comments ผูกติดกับสไลด์นั้นและจะถูกลบพร้อมกับสไลด์นั้น เนื้อหาบนสไลด์อื่นไม่ถูกกระทบ

การลบสไลด์ต่างจากการทำความสะอาดเลย์เอาต์/มาสเตอร์ที่ไม่ได้ใช้อย่างไร?

การลบจะเอาสไลด์ปกติที่เฉพาะเจาะจงออกจากชุด การทำความสะอาดเลย์เอาต์/มาสเตอร์ที่ไม่ได้ใช้จะลบสไลด์เลย์เอาต์หรือมาสเตอร์ที่ไม่มีอ้างอิงใด ๆ เพื่อลดขนาดไฟล์โดยไม่เปลี่ยนเนื้อหาสไลด์ที่เหลือ การดำเนินการเหล่านี้ทำงานเสริมกันโดยทั่วไปจะลบก่อนแล้วจึงทำความสะอาด