scanny / python-pptx

Create Open XML PowerPoint documents in Python
MIT License
2.4k stars 520 forks source link

MSO_SHAPE not having rectangle shape #867

Open Ms-Ajith opened 1 year ago

Ms-Ajith commented 1 year ago

Hello, I am trying to execute the below code, but I am getting error as below. Please advise.

shape = shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE, Cm(10), Cm(10), Cm(10), Cm(10))

AttributeError: type object 'MSO_SHAPE_TYPE' has no attribute 'ROUNDED_RECTANGLE'

Import modules

from pptx import Presentation from pptx.enum.shapes import MSO_SHAPE_TYPE as MSO_SHAPE #TYPE as MSO_SHAPE from pptx.util import Cm from pptx.enum.dml import MSO_THEME_COLOR_INDEX from pptx.util import Pt

Open powerpoint file

prs = Presentation()

Create a slide

slidelayout = prs.slide_layouts[0] slide = prs.slides.add_slide(slidelayout) shapes = slide.shapes

Add a shape

shape = shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE, Cm(10), Cm(10), Cm(10), Cm(10))

Create a shadow

shadow = shape.shadow shadow.inherit = False shadow.visible = True shadow.distance = Pt(10) shadow.shadow_type = 'outer' shadow.angle = 45 shadow.blur_radius = Pt(5) shadow.color = MSO_THEME_COLOR_INDEX.ACCENT_5 shadow.transparency = '50' shadow.distance = Pt(5) shape.shadow.style = 'outer'

Save the powerpoint file

prs.save("D:/PPT/shadow.pptx")

bowespublishing commented 1 year ago

Change

from pptx.enum.shapes import MSO_SHAPE_TYPE as MSO_SHAPE

to

from pptx.enum.shapes import MSO_SHAPE