ทำงานกับรูปร่างใน PowerPoint ใน Python

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

Python Library เพื่อทำงานกับ PowerPoint Shapes

Aspose.Slides for Python ผ่าน .NET ได้รับการออกแบบมาเพื่อสร้างและจัดการงานนำเสนอ PowerPoint จากภายในแอปพลิเคชัน Python เราจะใช้ไลบรารีนี้เพื่อทำงานกับรูปร่างในสไลด์ PowerPoint คุณสามารถติดตั้งได้จาก PyPI โดยใช้คำสั่ง pip ต่อไปนี้

> pip install aspose.slides

ประเภทของรูปร่างใน PowerPoint

คุณสามารถสร้างรูปทรงต่างๆ ในงานนำเสนอ PowerPoint โดยใช้ Aspose.Slides for Python รูปร่างที่ใช้บ่อยที่สุด ได้แก่ :

เพิ่มรูปร่างให้กับสไลด์ PowerPoint ใน Python

ในการเพิ่มรูปร่างใด ๆ รวมถึงวงรี เส้น สี่เหลี่ยมผืนผ้า ใช้วิธี addautoshape(ShapeType, Single, Single, Single, Single) ซึ่งคุณสามารถส่งประเภทของรูปร่างและพารามิเตอร์ที่จำเป็นอื่น ๆ ได้ ShapeType enum ใช้เพื่อระบุประเภทของรูปร่าง ต่อไปนี้เป็นขั้นตอนในการเพิ่มรูปร่างให้กับสไลด์ PowerPoint ใน Python

  1. สร้างงานนำเสนอหรือโหลดงานนำเสนอที่มีอยู่โดยใช้คลาสงานนำเสนอ
  2. รับข้อมูลอ้างอิงของสไลด์ที่ต้องการจากคอลเลกชัน Presentation.slides
  3. เพิ่มวงรี (หรือรูปร่างอื่น ๆ ) โดยใช้วิธี addautoshape (ShapeType, Single, Single, Single, Single)
  4. บันทึกงานนำเสนอโดยใช้เมธอด Presentation.save(String, SaveFormat)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มรูปร่างให้กับสไลด์ PowerPoint ใน Python

import aspose.slides as slides
import aspose.pydrawing as drawing

# สร้างงานนำเสนอใหม่
with slides.Presentation() as pres:
    # รับสไลด์แรก
    sld = pres.slides[0]

    # เพิ่มรูปร่างอัตโนมัติของประเภทวงรี
    shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50)

    # ใช้การจัดรูปแบบกับรูปร่างวงรี
    shp.fill_format.fill_type = slides.FillType.SOLID
    shp.fill_format.solid_fill_color.color = drawing.Color.pink

    # ใช้การจัดรูปแบบบางอย่างกับบรรทัดของวงรี
    shp.line_format.fill_format.fill_type = slides.FillType.SOLID
    shp.line_format.fill_format.solid_fill_color.color = drawing.Color.purple
    shp.line_format.width = 5

    # บันทึกไฟล์ PPTX ลงในดิสก์
    pres.save("add-ellipse.pptx", slides.export.SaveFormat.PPTX)

ต่อไปนี้คือวงรีที่เราเพิ่มโดยใช้ตัวอย่างโค้ดด้านบน

เพิ่มรูปร่างให้กับ PowerPoint PPT ใน Python

เชื่อมต่อ PowerPoint Shapes กับตัวเชื่อมต่อใน Python

ในไดอะแกรม รูปร่างต่างๆ เชื่อมต่อกันโดยใช้เส้นที่เรียกว่าตัวเชื่อมต่อ ตัวเชื่อมต่ออาจเป็นเส้นตรงหรือเส้นโค้งก็ได้ มาดูวิธีเพิ่มตัวเชื่อมต่อระหว่างรูปร่าง PowerPoint สองรูปร่างใน Python

  1. ขั้นแรก สร้างอินสแตนซ์ของคลาสการนำเสนอเพื่อสร้างหรือโหลดงานนำเสนอ
  2. จากนั้น รับข้อมูลอ้างอิงของสไลด์โดยใช้คอลเลกชัน Presentation.slides
  3. เพิ่มสองรูปร่างเหมือนที่คุณเพิ่มในส่วนก่อนหน้าและรับข้อมูลอ้างอิง
  4. สร้างตัวเชื่อมต่อโดยใช้เมธอด addconnector(ShapeType, Single, Single, Single, Single)
  5. รวมรูปร่างโดยใช้คุณสมบัติ Connector.startshapeconnectedto และ Connector.endshapeconnectedto
  6. โทร Connector.reroute() วิธีการสร้างเส้นทางการเชื่อมต่ออัตโนมัติที่สั้นที่สุด
  7. สุดท้าย บันทึกงานนำเสนอโดยใช้เมธอด Presentation.save(string, SaveFormat)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเชื่อมต่อรูปร่างในสไลด์ PowerPoint ใน Python

import aspose.slides as slides
import aspose.pydrawing as drawing

# สร้างงานนำเสนอ
with slides.Presentation() as presentation:
    # เข้าถึงคอลเลกชันรูปร่างสำหรับสไลด์ที่เลือก
    shapes = presentation.slides[0].shapes

    # เพิ่มวงรี
    ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100)

    # เพิ่มรูปสี่เหลี่ยมผืนผ้าอัตโนมัติ
    rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100)

    # เพิ่มตัวเชื่อมต่อเพื่อเชื่อมต่อรูปร่าง
    connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10)

    # รวมรูปร่างโดยใช้ตัวเชื่อมต่อ
    connector.start_shape_connected_to = ellipse
    connector.end_shape_connected_to = rectangle

    # โทรเปลี่ยนเส้นทางเพื่อกำหนดเส้นทางที่สั้นที่สุดโดยอัตโนมัติระหว่างรูปร่างต่างๆ
    connector.reroute()

    # บันทึกงานนำเสนอ
    presentation.save("add-connector.pptx", slides.export.SaveFormat.PPTX)

ต่อไปนี้เป็นภาพหน้าจอของงานนำเสนอหลังจากเชื่อมต่อรูปร่างด้วยตัวเชื่อมต่อ

เชื่อมต่อ PowerPoint Shapes กับตัวเชื่อมต่อใน Python

โคลนรูปร่าง PowerPoint ใน Python

บางครั้ง คุณเลือกที่จะโคลนรูปร่างแทนการสร้างใหม่ เพื่อให้บรรลุเป้าหมายนั้น Aspose.Slides รองรับการโคลนรูปร่าง ต่อไปนี้เป็นขั้นตอนในการโคลนรูปร่างใน PowerPoint โดยใช้ Python

  1. ขั้นแรก ใช้คลาสการนำเสนอเพื่อโหลดไฟล์งานนำเสนอ
  2. รับข้อมูลอ้างอิงของสไลด์จากคอลเลกชัน Presentation.slides
  3. เข้าถึงรูปร่างสไลด์ต้นทางและปลายทางจากคอลเลกชัน ISlide.shapes
  4. โคลนรูปร่างจากคอลเลกชันรูปร่างสไลด์ต้นทางไปยังสไลด์ปลายทางโดยใช้เมธอด addclone()
  5. สุดท้าย ให้บันทึกไฟล์งานนำเสนอที่อัปเดตแล้ว

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการโคลนรูปร่างภายในสไลด์ PowerPoint ใน Python

import aspose.slides as slides

# โหลดงานนำเสนอ
with slides.Presentation("add-ellipse.pptx") as presentation:
    # เข้าถึงรูปร่างของสไลด์ต้นฉบับ
    sourceShapes = presentation.slides[0].shapes

    # เพิ่มสไลด์เปล่าใหม่
    blankLayout = presentation.masters[0].layout_slides.get_by_type(slides.SlideLayoutType.BLANK)
    destSlide = presentation.slides.add_empty_slide(blankLayout)

    # เข้าถึงรูปร่างของสไลด์ปลายทาง
    destShapes = destSlide.shapes

    # รูปร่างโคลน
    destShapes.add_clone(sourceShapes[0], 50, 150 + sourceShapes[0].height)
    destShapes.add_clone(sourceShapes[0])                 
    destShapes.insert_clone(0, sourceShapes[0], 50, 150)

    # บันทึกไฟล์
    presentation.save("clone-shapes.pptx", slides.export.SaveFormat.PPTX)

ลบรูปร่างออกจากสไลด์ PowerPoint ใน Python

คุณยังสามารถลบรูปร่างออกจากงานนำเสนอ PowerPoint โดยทำตามขั้นตอนด้านล่าง

  1. สร้างอินสแตนซ์ของคลาสการนำเสนอเพื่อโหลดไฟล์ PPT/PPTX
  2. เข้าถึงสไลด์ที่ต้องการจากคอลเลกชัน Presentation.slides
  3. กรองรูปร่างที่ต้องการด้วยข้อความเฉพาะโดยใช้คุณสมบัติ IShape.alternativetext
  4. ลบรูปร่างโดยใช้เมธอด ISlide.shapes.remove(IShape)
  5. สุดท้าย ให้บันทึกไฟล์งานนำเสนอที่อัปเดตแล้ว

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการลบรูปร่างออกจากสไลด์ PowerPoint ใน Python

# โหลดงานนำเสนอ
with slides.Presentation("add-ellipse.pptx") as presentation:
    # รับสไลด์แรก
    sld = presentation.slides[0]

    alttext = "User Defined"

    # วนรอบรูปร่าง
   for i in range(len(sld.shapes)):
        # ค้นหารูปร่างด้วยข้อความแสดงแทน
        ashp = sld.shapes[0]
        if ashp.alternative_text == alttext:
            sld.shapes.remove(ashp)

    # บันทึกไฟล์
    presentation.save("remove-shapes.pptx", slides.export.SaveFormat.PPTX)

รับใบอนุญาตฟรี

คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อใช้ Aspose.Slides for Python โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

MS PowerPoint รองรับรูปร่างต่างๆ เพื่อสร้างไดอะแกรมประเภทต่างๆ เช่น โฟลว์ชาร์ต ในบทความนี้ เราได้พูดถึงวิธีการสร้างรูปร่างใน PowerPoint เช่น วงรี สี่เหลี่ยม และเชื่อมต่อโดยใช้ตัวเชื่อมต่อใน Python นอกจากนี้ คุณได้เรียนรู้วิธีการโคลนและลบรูปร่างในสไลด์ PowerPoint โดยทางโปรแกรม คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ Aspose.Slides for Python โดยใช้ เอกสารประกอบ นอกจากนี้ คุณสามารถแจ้งให้เราทราบเกี่ยวกับข้อสงสัยของคุณผ่านทาง ฟอรัม ของเรา

ดูสิ่งนี้ด้วย