3.0 KiB
3.0 KiB
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. Here’s 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.