Splitting a PowerPoint presentation into smaller files or individual sections can be useful in various situations. For instance, when collaborating with a team, each member may only need a specific section of the presentation to work on. Additionally, breaking a large presentation into smaller parts can simplify sharing over email or uploading to platforms with file size restrictions. In this article, we'll show you how to split PowerPoint presentations by slides, slide ranges, and sections in Python using Spire.Presentation for Python.
- Split PowerPoint Presentations by Slides in Python
- Split PowerPoint Presentations by Slide Ranges in Python
- Split PowerPoint Presentations by Sections in Python
Install Spire.Presentation for Python
This scenario requires Spire.Presentation for Python and plum-dispatch v1.7.4. They can be easily installed in your Windows through the following pip command.
pip install Spire.Presentation
If you are unsure how to install, please refer to this tutorial: How to Install Spire.Presentation for Python on Windows
Split PowerPoint Presentations by Slides in Python
Developers can use Spire.Presentation for Python to split a PowerPoint presentation into individual slides by iterating through the slides in the presentation and adding each slide to a new presentation. The detailed steps are as follows.
- Create an instance of the Presentation class.
- Load a PowerPoint presentation using the Presentation.LoadFromFile() method.
- Iterate through all slides in the presentation:
- Access the current slide through the Presentation.Slides[index] property.
- Create a new PowerPoint presentation using the Presentation class and remove its default slide using the Presentation.Slides.RemoveAt(0) method.
- Append the current slide to the new presentation using the Presentation.Slides.AppendBySlide() method.
- Save the new presentation as a file using the ISlide.SaveToFile() method.
- Python
from spire.presentation.common import * from spire.presentation import * # Create an instance of the Presentation class presentation = Presentation() # Load a PowerPoint presentation presentation.LoadFromFile("Sample.pptx") # Iterate through all slides in the presentation for i in range(presentation.Slides.Count): # Get the current slide slide = presentation.Slides[i] # Create a new PowerPoint presentation and remove its default slide newPresentation = Presentation() newPresentation.Slides.RemoveAt(0) # Append the current slide to the new presentation newPresentation.Slides.AppendBySlide(slide) # Save the new presentation as a file newPresentation.SaveToFile(f"output/Presentations/Slide-{i + 1}.pptx", FileFormat.Pptx2013) newPresentation.Dispose() presentation.Dispose()
Split PowerPoint Presentations by Slide Ranges in Python
Apart from splitting a PowerPoint presentation into individual slides, developers can also divide it into specific ranges of slides by adding the desired slides to new presentations. The detailed steps are as follows.
- Create an instance of the Presentation class.
- Load a PowerPoint presentation using the Presentation.LoadFromFile() method.
- Create new PowerPoint presentations using the Presentation class and remove the default slides within them using the Presentation.Slides.RemoveAt(0) method.
- Append specified ranges of slides to the new presentations using the Presentation.Slides.AppendBySlide() method.
- Save the new presentations as files using the Presentation.SaveToFile() method.
- Python
from spire.presentation.common import * from spire.presentation import * # Create an instance of the Presentation class presentation = Presentation() # Load a PowerPoint presentation presentation.LoadFromFile("Sample.pptx") # Create two new PowerPoint presentations and remove their default slides presentation1 = Presentation() presentation2 = Presentation() presentation1.Slides.RemoveAt(0) presentation2.Slides.RemoveAt(0) # Append slides 1-3 to the first new presentation for i in range(3): presentation1.Slides.AppendBySlide(presentation.Slides[i]) # Append the remaining slides to the second new presentation for i in range(3, presentation.Slides.Count): presentation2.Slides.AppendBySlide(presentation.Slides[i]) # Save the new presentations as files presentation1.SaveToFile("output/Presentations/SlideRange1.pptx", FileFormat.Pptx2013) presentation2.SaveToFile("output/Presentations/SlideRange2.pptx", FileFormat.Pptx2013) presentation1.Dispose() presentation2.Dispose() presentation.Dispose()
Split PowerPoint Presentations by Sections in Python
Sections in PowerPoint are often used to organize slides into manageable groups. With Spire.Presentation for Python, developers can split a PowerPoint presentation into sections by iterating through the sections in the presentation and adding the slides within each section to a new presentation. The detailed steps are as follows.
- Create an instance of the Presentation class.
- Load a PowerPoint presentation using the Presentation.LoadFromFile() method.
- Iterate through all sections in the presentation:
- Access the current section through the Presentation.SectionList[] property.
- Create a new PowerPoint presentation using the Presentation class and remove its default slide using the Presentation.Slides.RemoveAt(0) method.
- Add a section to the new presentation with the same name using the Presentation.SectionList.Append() method.
- Retrieve the slides of the current section using the Section.GetSlides() method.
- Iterate through the retrieved slides and add them to the section of the new presentation using the Section.Insert() method.
- Save the new presentation as a file using the Presentation.SaveToFile() method.
- Python
from spire.presentation.common import * from spire.presentation import * # Create an instance of the Presentation class presentation = Presentation() # Load a PowerPoint presentation presentation.LoadFromFile("Sample.pptx") # Iterate through all sections for i in range(presentation.SectionList.Count): # Get the current section section = presentation.SectionList[i] # Create a new PowerPoint presentation and remove its default slide newPresentation = Presentation() newPresentation.Slides.RemoveAt(0) # Add a section to the new presentation newSection = newPresentation.SectionList.Append(section.Name) # Retrieve the slides of the current section slides = section.GetSlides() # Insert each retrieved slide into the section of the new presentation for slide_index, slide in enumerate(slides): newSection.Insert(slide_index, slide) # Save the new presentation as a file newPresentation.SaveToFile(f"output/Presentations/Section-{i + 1}.pptx", FileFormat.Pptx2019) newPresentation.Dispose() presentation.Dispose()
Apply for a Temporary License
If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.