จัดการกราฟิก SmartArt ในงานนำเสนอโดยใช้ Python

ภาพรวม

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

ตัวอย่างแสดงวิธีการทำงานกับรูปร่าง SmartArt ผ่านคอลเลกชันรูปร่างของสไลด์งานนำเสนอ, ตรวจสอบว่ารูปร่างเป็น SmartArt หรือไม่ แล้วทำการแก้ไขหรือสอบถามคุณสมบัติต่าง ๆ ของมัน

สร้างรูปแบบ SmartArt

Aspose.Slides for Python via Java provides an API to create SmartArt shapes. To create a SmartArt shape in a slide, please follow the steps below:

  1. สร้างอินสแตนซ์ของคลาส Presentation
  2. รับสไลด์ตามดัชนีของมัน
  3. เพิ่มรูปร่าง SmartArt โดยระบุ SmartArtLayoutType
  4. บันทึกงานนำเสนอที่แก้ไขเป็นไฟล์ PPTX
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat, SmartArtLayoutType

presentation = Presentation()
try:
    # ดึงสไลด์แรก.
    slide = presentation.getSlides().get_Item(0)

    # เพิ่มรูปร่าง SmartArt.
    smart_art = slide.getShapes().addSmartArt(0, 0, 400, 400, SmartArtLayoutType.BasicBlockList)

    # บันทึกงานนำเสนอ.
    presentation.save("SimpleSmartArt.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()
รูปร่าง SmartArt
รูป: รูปร่าง SmartArt ที่เพิ่มลงในสไลด์

เข้าถึงรูปแบบ SmartArt บนสไลด์

ตัวอย่างต่อไปนี้เข้าถึงรูปร่าง SmartArt บนสไลด์งานนำเสนอ มันวนลูปผ่านรูปร่างทั้งหมดบนสไลด์และตรวจสอบว่ารูปร่างเป็นอินสแตนซ์ของ SmartArt หรือไม่

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SmartArt

presentation = Presentation("AccessSmartArtShape.pptx")
try:
    # วนลูปผ่านรูปร่างทั้งหมดบนสไลด์แรก.
    for shape in presentation.getSlides().get_Item(0).getShapes():
        if isinstance(shape, SmartArt):
            smart_art = shape
            print("Shape Name: " + str(smart_art.getName()))
finally:
    presentation.dispose()

เข้าถึงรูปแบบ SmartArt ด้วยประเภทเค้าโครงเฉพาะ

ตัวอย่างต่อไปนี้เข้าถึงรูปร่าง SmartArt ที่มีประเภทเค้าโครงเฉพาะ ซึ่งได้จากการเรียก SmartArt.getLayout.

  1. สร้างอินสแตนซ์ของคลาส Presentation และโหลดงานนำเสนอที่มีรูปร่าง SmartArt
  2. รับสไลด์แรกตามดัชนีของมัน
  3. วนลูปผ่านรูปร่างทั้งหมดบนสไลด์แรก
  4. ตรวจสอบว่ารูปร่างเป็นอินสแตนซ์ของ SmartArt หรือไม่
  5. ตรวจสอบว่ารูปร่าง SmartArt มีประเภทเค้าโครงที่ระบุหรือไม่และดำเนินการที่ต้องการ
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SmartArt, SmartArtLayoutType

presentation = Presentation("AccessSmartArtShape.pptx")
try:
    # วนลูปผ่านรูปร่างทั้งหมดบนสไลด์แรก.
    for shape in presentation.getSlides().get_Item(0).getShapes():
        if isinstance(shape, SmartArt):
            smart_art = shape

            # ตรวจสอบเค้าโครง SmartArt.
            if smart_art.getLayout() == SmartArtLayoutType.BasicBlockList:
                print("Perform the required operation here.")
finally:
    presentation.dispose()

เปลี่ยนสไตล์ของรูปแบบ SmartArt

ตัวอย่างนี้แสดงวิธีการเปลี่ยนสไตล์ด่วนของรูปร่าง SmartArt.

  1. สร้างอินสแตนซ์ของคลาส Presentation และโหลดงานนำเสนอที่มีรูปร่าง SmartArt
  2. รับสไลด์แรกตามดัชนีของมัน
  3. วนลูปผ่านรูปร่างทั้งหมดบนสไลด์แรก
  4. ตรวจสอบว่ารูปร่างเป็นอินสแตนซ์ของ SmartArt หรือไม่
  5. ค้นหารูปร่าง SmartArt ที่มีสไตล์ที่ระบุ
  6. กำหนดสไตล์ใหม่ให้กับรูปร่าง SmartArt
  7. บันทึกงานนำเสนอ
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat, SmartArt, SmartArtQuickStyleType

presentation = Presentation("SimpleSmartArt.pptx")
try:
    slide = presentation.getSlides().get_Item(0)

    # วนลูปผ่านรูปร่างทั้งหมดบนสไลด์แรก.
    for shape in slide.getShapes():
        if isinstance(shape, SmartArt):
            smart_art = shape

            # ตรวจสอบและเปลี่ยนสไตล์ SmartArt.
            if smart_art.getQuickStyle() == SmartArtQuickStyleType.SimpleFill:
                smart_art.setQuickStyle(SmartArtQuickStyleType.Cartoon)

    presentation.save("ChangeSmartArtStyle.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()
รูปร่าง SmartArt
รูป: รูปร่าง SmartArt ที่เปลี่ยนสไตล์

เปลี่ยนสไตล์สีของรูปแบบ SmartArt

ตัวอย่างนี้เข้าถึงรูปร่าง SmartArt ที่มีสไตล์สีเฉพาะและเปลี่ยนสไตล์นั้น.

  1. สร้างอินสแตนซ์ของคลาส Presentation และโหลดงานนำเสนอที่มีรูปร่าง SmartArt
  2. รับสไลด์แรกตามดัชนีของมัน
  3. วนลูปผ่านรูปร่างทั้งหมดบนสไลด์แรก
  4. ตรวจสอบว่ารูปร่างเป็นอินสแตนซ์ของ SmartArt หรือไม่
  5. ค้นหารูปร่าง SmartArt ที่มีสไตล์สีที่ระบุ
  6. กำหนดสไตล์สีใหม่ให้กับรูปร่าง SmartArt
  7. บันทึกงานนำเสนอ
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat, SmartArt, SmartArtColorType

presentation = Presentation("SimpleSmartArt.pptx")
try:
    slide = presentation.getSlides().get_Item(0)

    # วนลูปผ่านรูปร่างทั้งหมดบนสไลด์แรก.
    for shape in slide.getShapes():
        if isinstance(shape, SmartArt):
            smart_art = shape

            # ตรวจสอบและเปลี่ยนสไตล์ SmartArt.
            if smart_art.getColorStyle() == SmartArtColorType.ColoredFillAccent1:
                smart_art.setColorStyle(SmartArtColorType.ColorfulAccentColors)

    presentation.save("ChangeSmartArtColorStyle.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()
รูปร่าง SmartArt
รูป: รูปร่าง SmartArt ที่เปลี่ยนสไตล์สี

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

ฉันสามารถทำให้ SmartArt เคลื่อนไหวเป็นวัตถุเดียวได้หรือไม่?

ใช่. SmartArt เป็นรูปร่าง ดังนั้นคุณจึงสามารถใช้ การเคลื่อนไหวมาตรฐาน ผ่าน API การเคลื่อนไหว (การเข้ามา, การออก, การเน้น, เส้นทางการเคลื่อนที่) เหมือนกับรูปร่างอื่น ๆ

ฉันจะค้นหา SmartArt เฉพาะบนสไลด์ได้อย่างไรหากไม่รู้ ID ภายใน?

ตั้งค่าและใช้ alternative text จากนั้นค้นหารูปร่างโดยค่าดังกล่าว—นี่เป็นวิธีที่แนะนำเพื่อค้นหารูปร่างเป้าหมาย

ฉันสามารถจัดกลุ่ม SmartArt กับรูปร่างอื่นได้หรือไม่?

ใช่. คุณสามารถจัดกลุ่ม SmartArt กับรูปร่างอื่น (รูปภาพ, ตาราง, ฯลฯ) แล้ว จัดการกลุ่ม

ฉันจะได้ภาพของ SmartArt เฉพาะ (เช่น สำหรับการแสดงตัวอย่างหรือรายงาน) อย่างไร?

ส่งออกภาพย่อ/ภาพของรูปร่าง; ไลบรารีสามารถ เรนเดอร์รูปร่างแยกแต่ละออกรูป ไปเป็นไฟล์ raster (PNG/JPG/TIFF)

รูปลักษณ์ของ SmartArt จะถูกเก็บไว้เมื่อแปลงงานนำเสนอทั้งหมดเป็น PDF หรือไม่?

ใช่. เครื่องยนต์การเรนเดอร์มุ่งเน้นความแม่นยำสูงสำหรับ การส่งออก PDF, พร้อมตัวเลือกคุณภาพและความเข้ากันได้หลายระดับ