python pptx export img (png, jpeg)

Question:

I have developed a small code in Python in order to generate PPTX. But I would like also to generate a picture in png or jpeg of this slide.

from pptx import Presentation
from pptx.util import Inches

img_path = 'monty-truth.png'

prs = Presentation()
blank_slide_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(blank_slide_layout)

left = top = Inches(1)
pic = slide.shapes.add_picture(img_path, left, top)

left = Inches(5)
height = Inches(5.5)
pic = slide.shapes.add_picture(img_path, left, top, height=height)

prs.save('test.pptx')

Is there a way to transform a PPTX file (including just one slide) into a PNG or JPEG picture ?

Asked By: Alex Andre

||

Answers:

You can use the following code :

Application = win32com.client.Dispatch("PowerPoint.Application")
Presentation = Application.Presentations.Open(r"your_path")
Presentation.Slides[0].Export(r"the_new_path-file.jpg", "JPG")
Application.Quit()
Presentation =  None
Application = None

With this line, you can change the number of the slide you want to export (for example below, for slide number 6) :

Presentation.Slides[5].Export(r"the_new_path-file.jpg", "JPG")
Answered By: Alex Dana

As a detour, you can first convert PPT to PDF, and then convert PDF to images. To convert PPT to PDF, you can use libreoffice:

soffice --headless --convert-to pdf test.pptx

To convert PDF to image, you can use poppler.

pdftoppm -singlefile -f 4 -r 72 -jpeg -jpegopt quality=90 test.pdf test_poppler

This is also a python package pdf2image which is basically a wrapper around poppler. You may also be interested in it.

For more info: see convert ppt slide to image and Converting PDF Pages to Images with Poppler.

Answered By: jdhao

There’s a python package called Aspose.Slides which could convert pptx to png.

Do:

pip install Aspose.Slides

This can also be used for converting pptx to pdf, as well as for creating a pptx file from scratch.

Answered By: Pavin Raj
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.