# Convert PPSM to ODP in Python

> Convert PPSM files to editable ODP presentations in Python with Aspose.Slides for Python via Java.

Source: https://products.aspose.com/slides/python-java/conversion/ppsm-to-odp/
Updated: 2026-07-22



## Convert PPSM to ODP in Python

[Aspose.Slides for Python via Java](/slides/python-java/) can convert a macro-enabled PowerPoint slide show (`.ppsm`) to an OpenDocument Presentation (`.odp`) without Microsoft PowerPoint or LibreOffice. The resulting ODP file remains editable in applications that support the OpenDocument format. Because ODP does not support VBA projects, macros are not retained.

Load the source file with `Presentation`, then call `save` with `SaveFormat.Odp`. Aspose.Slides converts supported slide content, layout, and formatting to the destination format.

## How to Convert PPSM to ODP in Python

Create a `Presentation` from the source PPSM file and save it with `SaveFormat.Odp`.

### Python code for converting PPSM to ODP

```python
presentation = Presentation("presentation.ppsm")
try:
    presentation.save("presentation.odp", SaveFormat.Odp)
finally:
    presentation.dispose()
```

## Steps to Convert PPSM to ODP in Python

The conversion loads the macro-enabled PowerPoint slide show and writes its slides to an OpenDocument presentation.

Install [Aspose.Slides for Python via Java](/slides/python-java/).

Configure JPype and make the Aspose.Slides package available to your Python project.

Create a `Presentation` from the source `.ppsm` file.

Call `save` with `SaveFormat.Odp` and an `.odp` output path.

## Convert PPSM to Other Supported Formats

- [PPSM TO PPTX](/slides/python-java/conversion/ppsm-to-pptx/)
- [PPSM TO PPT](/slides/python-java/conversion/ppsm-to-ppt/)
- [PPSM TO PDF](/slides/python-java/conversion/ppsm-to-pdf/)
- [PPSM TO HTML](/slides/python-java/conversion/ppsm-to-html/)
- [PPSM TO PNG](/slides/python-java/conversion/ppsm-to-png/)
- [PPSM TO BMP](/slides/python-java/conversion/ppsm-to-bmp/)
- [PPSM TO JPG](/slides/python-java/conversion/ppsm-to-jpg/)
- [PPSM TO FODP](/slides/python-java/conversion/ppsm-to-fodp/)
- [PPSM TO GIF](/slides/python-java/conversion/ppsm-to-gif/)
- [PPSM TO OTP](/slides/python-java/conversion/ppsm-to-otp/)
- [PPSM TO POT](/slides/python-java/conversion/ppsm-to-pot/)
- [PPSM TO POTM](/slides/python-java/conversion/ppsm-to-potm/)
- [PPSM TO POTX](/slides/python-java/conversion/ppsm-to-potx/)
- [PPSM TO PPS](/slides/python-java/conversion/ppsm-to-pps/)
- [PPSM TO PPSX](/slides/python-java/conversion/ppsm-to-ppsx/)
- [PPSM TO PPTM](/slides/python-java/conversion/ppsm-to-pptm/)
- [PPSM TO SVG](/slides/python-java/conversion/ppsm-to-svg/)
- [PPSM TO TIFF](/slides/python-java/conversion/ppsm-to-tiff/)
