Files
2024-05-01 12:28:44 -06:00

3.0 KiB
Raw Permalink Blame History

For working with PowerPoint presentations in Python, the python-pptx library is a go-to solution. It allows for creating new presentations or modifying existing ones, adding slides, manipulating text, inserting images, and more. Heres a concise reference guide covering common use cases with python-pptx, formatted in Markdown syntax:

python-pptx Reference Guide

Installation

pip install python-pptx

Creating a New Presentation

from pptx import Presentation

# Create a new Presentation object
prs = Presentation()

# Save the presentation
prs.save('new_presentation.pptx')

Opening Existing Presentations

# Load an existing presentation
prs = Presentation('path_to_existing_file.pptx')

Adding Slides

from pptx.util import Inches

# Add a slide with a title and content layout
slide_layout = prs.slide_layouts[1]  # 0 is the layout for a title slide, 1 for title and content
slide = prs.slides.add_slide(slide_layout)

# Set title and content
title = slide.shapes.title
title.text = "This is the slide title"

content = slide.placeholders[1]
content.text = "This is the slide content"

Adding Text to Slides

# Add a textbox to a slide
x, y, cx, cy = Inches(2), Inches(2), Inches(4), Inches(1.5)
textbox = slide.shapes.add_textbox(x, y, cx, cy)

# Add text to the textbox
text_frame = textbox.text_frame
p = text_frame.add_paragraph()
p.text = "This is a textbox"

Inserting Images

# Add an image to a slide
img_path = 'path_to_image.jpg'
x, y = Inches(1), Inches(1)
slide.shapes.add_picture(img_path, x, y, width=Inches(4))

Working with Shapes

# Add a shape (e.g., rectangle)
x, y, cx, cy = Inches(3), Inches(3), Inches(2), Inches(1)
shape = slide.shapes.add_shape(
    MSO_SHAPE.RECTANGLE, x, y, cx, cy
)
shape.fill.solid()
shape.fill.fore_color.rgb = RGBColor(255, 0, 0)  # Red fill
shape.text = "A rectangle"

Applying Styles to Text

from pptx.dml.color import RGBColor
from pptx.util import Pt

# Set font size, bold, italic, and color
run = p.add_run()
run.text = "Stylized text"
font = run.font
font.size = Pt(20)
font.bold = True
font.italic = True
font.color.rgb = RGBColor(0, 102, 204)  # Blue

Managing Slide Layouts

# Iterate through available slide layouts
for layout in prs.slide_layouts:
    print(layout.name)

# Use a specific layout for a new slide
custom_layout = prs.slide_layouts[2]  # Choosing a specific layout
slide = prs.slides.add_slide(custom_layout)

Saving Presentations

# Save changes to the presentation
prs.save('modified_presentation.pptx')

This guide covers foundational operations like creating and saving presentations, adding slides with various layouts, inserting and formatting text, adding images, and working with shapes. The python-pptx library offers extensive functionalities for PowerPoint manipulation, making it a powerful tool for automating presentation creation and editing tasks in Python.