รูปภาพเป็นวิธีการสื่อสารที่มีประสิทธิภาพซึ่งทำให้เนื้อหามีชีวิตชีวา นี่คือเหตุผลที่รูปภาพถูกนำมาใช้อย่างแพร่หลายในเว็บเพจ เอกสาร งานนำเสนอ ฯลฯ งานนำเสนอ MS PowerPoint มักจะสร้างขึ้นโดยมีข้อความน้อยลงและมีวัตถุและรูปภาพกราฟิกมากขึ้น ดังนั้น เมื่อประมวลผลงานนำเสนอโดยทางโปรแกรม คุณอาจต้องแยกรูปภาพพร้อมกับข้อความ บทความนี้ครอบคลุมวิธีแยกรูปภาพจากงานนำเสนอ PPT หรือ PPTX ใน Python
- Python Library เพื่อแยกรูปภาพออกจากงานนำเสนอ
- แยกรูปภาพจากงานนำเสนอ PPTX ใน Python
- แยกรูปภาพออกจากรูปร่าง
- การดึงภาพจากพื้นหลังสไลด์
Python Library เพื่อแยกรูปภาพออกจากงานนำเสนอ
ในการดึงภาพจากงานนำเสนอ PowerPoint เราจะใช้ Aposose.Slides for Python via .NET เป็นไลบรารี Python อันทรงพลังที่ออกแบบมาเพื่อสร้างงานนำเสนอตั้งแต่เริ่มต้น นอกจากนี้ยังช่วยให้คุณสามารถแปลงและจัดการงานนำเสนอที่มีอยู่ได้อย่างราบรื่น คุณสามารถติดตั้งได้จาก PyPI โดยใช้คำสั่ง pip ต่อไปนี้
> pip install aspose.slides
แยกรูปภาพจาก PowerPoint PPT ใน Python
ต่อไปนี้เป็นขั้นตอนในการแยกรูปภาพจากงานนำเสนอ PowerPoint ใน Python
- โหลดงานนำเสนอโดยใช้คลาสการนำเสนอ
- วนซ้ำรูปภาพในงานนำเสนอโดยใช้คอลเลกชัน Presentation.images
- บันทึกแต่ละภาพเป็นไฟล์
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกรูปภาพจากไฟล์ PPTX ใน Python
import aspose.slides as slides
import aspose.pydrawing as drawing
imageIndex=1
# โหลดงานนำเสนอ
with slides.Presentation("presentation.pptx") as pres:
# วนซ้ำภาพ
for image in pres.images:
file_name = "Image_{0}.{1}"
image_type = image.content_type.split("/")[1]
image_format = get_image_format(image_type)
# บันทึกภาพ
image.system_image.save(file_name.format( imageIndex, image_type), image_format)
imageIndex = imageIndex + 1
แยกรูปภาพออกจากรูปร่างใน PPT
ในบางกรณี คุณอาจต้องแยกรูปภาพออกจากรูปร่างในงานนำเสนอเท่านั้น มาดูวิธีการแยกรูปภาพออกจากรูปร่างใน PPT ใน Python
- ขั้นแรก ให้โหลดงานนำเสนอโดยใช้คลาสการนำเสนอ
- จากนั้น วนซ้ำสไลด์ของงานนำเสนอโดยใช้คอลเลกชัน Presentation.slides
- สำหรับแต่ละสไลด์ ให้เข้าถึงรูปร่างของสไลด์โดยใช้คอลเลกชัน ISlide.shapes
- สำหรับแต่ละรูปร่างในคอลเลกชัน ให้ทำตามขั้นตอนต่อไปนี้:
- หากรูปร่างเป็นรูปร่างอัตโนมัติและประเภทเติมคือรูปภาพ ให้แยกรูปภาพโดยใช้คุณสมบัติ IShape.fillformat.picturefillformat.picture.image
- หากรูปร่างเป็นกรอบรูป ให้แยกรูปภาพโดยใช้คุณสมบัติ IShape.pictureformat.picture.image
- สุดท้ายบันทึกภาพเป็นไฟล์
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกรูปภาพจากรูปร่างในงานนำเสนอ PPT โดยใช้ Python
import aspose.slides as slides
import aspose.pydrawing as drawing
# โหลดงานนำเสนอ
with slides.Presentation("pres.pptx") as pres:
slideIndex = 0
image_type = ""
# วนซ้ำผ่านสไลด์
for slide in pres.slides:
slideIndex += 1
image_format = drawing.imaging.ImageFormat.jpeg
file_name = "BackImage_Slide_{0}{1}.{2}"
# วนซ้ำรูปร่างในสไลด์
for i in range(len(slide.shapes)):
shape = slide.shapes[i]
shape_image = None
# ตรวจสอบรูปร่างเป็นรูปร่างอัตโนมัติหรือกรอบรูป
if type(shape) is slides.AutoShape and shape.fill_format.fill_type == slides.FillType.PICTURE:
shape_image = shape.fill_format.picture_fill_format.picture.image
elif type(shape) is slides.PictureFrame:
shape_image = shape.picture_format.picture.image
# บันทึกภาพ
if shape_image is not None:
image_type = shape_image.content_type.split("/")[1]
image_format = get_image_format(image_type)
shape_image.system_image.save(
file_name.format("shape_"+str(i)+"_", slideIndex, image_type),
image_format)
แยกรูปภาพออกจากพื้นหลังสไลด์ใน PPT
อีกสถานการณ์หนึ่งอาจเป็นการแยกรูปภาพที่ใช้เป็นพื้นหลังของสไลด์ ต่อไปนี้เป็นขั้นตอนในการแยกรูปภาพออกจากพื้นหลังสไลด์ในงานนำเสนอ PPT เท่านั้น
- ขั้นแรก ให้โหลดงานนำเสนอโดยใช้คลาสการนำเสนอ
- จากนั้น วนซ้ำสไลด์ของงานนำเสนอโดยใช้คอลเลกชัน Presentation.slides
- สำหรับแต่ละสไลด์ ให้ทำตามขั้นตอนต่อไปนี้:
- ตรวจสอบว่าสไลด์มีภาพพื้นหลังหรือไม่โดยใช้คุณสมบัติ ISlide.background.fillformat.filltype
- หากพื้นหลังมีรูปภาพ ให้แยกรูปภาพโดยใช้คุณสมบัติ ISlide.background.fillformat.picturefillformat.picture.image
- ตรวจสอบว่าสไลด์เค้าโครงมีภาพพื้นหลังโดยใช้คุณสมบัติ ISlide.layoutslide.background.fillformat.filltype
- หากพื้นหลังเต็มไปด้วยรูปภาพ ให้แตกโดยใช้คุณสมบัติ ISlide.layoutslide.background.fillformat.picturefillformat.picture.image
- สุดท้าย บันทึกภาพที่แยกออกมาเป็นไฟล์
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกรูปภาพจากพื้นหลังสไลด์ใน PPT ใน Python
import aspose.slides as slides
import aspose.pydrawing as drawing
# โหลดงานนำเสนอ
with slides.Presentation("pres.pptx") as pres:
slideIndex = 0
image_type = ""
# วนซ้ำสไลด์ในงานนำเสนอ
for slide in pres.slides:
slideIndex += 1
image_format = drawing.imaging.ImageFormat.jpeg
back_image = None
file_name = "BackImage_Slide_{0}{1}.{2}"
is_layout = False
# ตรวจสอบว่าพื้นหลังของสไลด์และเค้าโครงของสไลด์เต็มไปด้วยรูปภาพหรือไม่
if slide.background.fill_format.fill_type == slides.FillType.PICTURE:
back_image = slide.background.fill_format.picture_fill_format.picture.image
elif slide.layout_slide.background.fill_format.fill_type == slides.FillType.PICTURE:
back_image = slide.layout_slide.background.fill_format.picture_fill_format.picture.image
is_layout = True
# บันทึกภาพ
if back_image is not None:
image_type = back_image.content_type.split("/")[1]
image_format = get_image_format(image_type)
back_image.system_image.save(
file_name.format("LayoutSlide_" if is_layout else "", slideIndex, image_type),
image_format)
ตัวอย่างโค้ดทั้งสองด้านบนใช้วิธี getimageformat ซึ่งจะส่งคืนรูปแบบรูปภาพที่เหมาะสมสำหรับประเภทที่ให้มา การนำวิธีการดังกล่าวไปใช้ด้านล่าง
import aspose.slides as slides
import aspose.pydrawing as drawing
def get_image_format(image_type):
return {
"jpeg": drawing.imaging.ImageFormat.jpeg,
"emf": drawing.imaging.ImageFormat.emf,
"bmp": drawing.imaging.ImageFormat.bmp,
"png": drawing.imaging.ImageFormat.png,
"wmf": drawing.imaging.ImageFormat.wmf,
"gif": drawing.imaging.ImageFormat.gif,
}.get(image_type, drawing.imaging.ImageFormat.jpeg)
รับใบอนุญาตฟรี
คุณสามารถรับ ใบอนุญาตชั่วคราวฟรี เพื่อใช้ Aspose.Slides for Python ผ่าน .NET โดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีแยกรูปภาพจากงานนำเสนอ PowerPoint ใน Python เราได้กล่าวถึงการแยกรูปภาพออกจากรูปร่างและพื้นหลังของสไลด์แยกกันด้วย นอกจากนี้ คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ Aspose.Slides for Python ได้โดยไปที่ เอกสารประกอบ นอกจากนี้ คุณสามารถถามคำถามของคุณผ่าน ฟอรัม ของเรา
ดูสิ่งนี้ด้วย
- สร้างไฟล์ PowerPoint ใน Python
- แปลง PPTX เป็น PDF ใน Python
- แปลง PPT เป็น PNG ใน Python
- PPT/PPTX เป็น HTML ใน Python
ข้อมูล: Aspose ให้บริการโปรแกรมแปลง PowerPoint เป็นรูปภาพ — PPT เป็น JPG และ [PPT เป็น PNG][] — ที่ให้คุณสร้างรูปภาพตามสไลด์ในงานนำเสนอ