python-pptx Tutorial: PowerPoint-Präsentationen mit Python erstellen und automatisieren

1. Was ist python-pptx?

python-pptx ist eine Bibliothek, mit der Sie PowerPoint-Präsentationen direkt aus Python-Programmen erstellen, bearbeiten und speichern können. Dadurch entfällt die manuelle Arbeit, und es wird möglich, dynamische Präsentationen automatisch aus Daten zu generieren oder wiederkehrende Aufgaben effizienter zu gestalten.

1.1 Hauptanwendungen von python-pptx

  • Automatisierte Präsentationserstellung: Erstellen Sie automatisch Folien auf Basis von Daten für Meetings oder Berichte.
  • Effiziente Bearbeitung: Fügen Sie Folien oder Texte zu bestehenden PowerPoint-Dateien hinzu und aktualisieren Sie Inhalte in kurzer Zeit.

1.2 Vorteile der PowerPoint-Steuerung mit Python

Im Vergleich zur manuellen Arbeit in PowerPoint ermöglicht python-pptx die Automatisierung durch Programmierung. So können Sie große Mengen an Folien auf einmal erstellen oder regelmäßige Berichte effizienter generieren, was die Arbeitszeit erheblich verkürzt.

2. Einrichtung von python-pptx

2.1 Installationsschritte

Die Installation von python-pptx ist sehr einfach. Führen Sie einfach den folgenden Befehl aus:
pip install python-pptx
Falls Ihre Python-Umgebung noch nicht eingerichtet ist, können Sie conda verwenden, um die Umgebung einzurichten und die Bibliothek zu installieren.

2.2 Grundstruktur von python-pptx

Importieren Sie die Bibliothek und verwenden Sie die Klasse Presentation(), um eine neue Präsentation zu erstellen. Dies ist die Basis für die Arbeit mit PowerPoint.
from pptx import Presentation

prs = Presentation()
Mit diesem Code wird eine neue Präsentation erstellt, und Sie können anschließend Folien und Texte hinzufügen.
侍エンジニア塾

3. Erstellung und Speicherung einer Präsentation

3.1 Neue Präsentation erstellen

Zunächst wird erklärt, wie Sie mit python-pptx eine Präsentation erstellen und speichern. Der folgende Code zeigt, wie eine neue Präsentationsdatei erstellt und gespeichert wird:
from pptx import Presentation

prs = Presentation()
prs.save('new_presentation.pptx')
Damit wird die PowerPoint-Datei im aktuellen Verzeichnis unter dem angegebenen Namen gespeichert.

3.2 Folien hinzufügen

Um einer Präsentation Folien hinzuzufügen, verwenden Sie die Methode add_slide(). Das Layout der Folien kann aus 11 Vorlagen ausgewählt werden.
slide_layout = prs.slide_layouts[0]  # Titelfolie auswählen
slide = prs.slides.add_slide(slide_layout)
Mit diesem Code wird eine neue Folie basierend auf dem gewählten Layout hinzugefügt.

4. Bearbeitung von Folieninhalten

4.1 Text einfügen und formatieren

Beim Einfügen von Text in eine Folie werden Platzhalter (z. B. Titel- oder Untertitelbereiche) verwendet. Anschließend können Sie mit dem Objekt TextFrame die Formatierung anpassen. Beispiel:
title = slide.shapes.title
subtitle = slide.placeholders[1]

title.text = "Titel der Präsentation"
subtitle.text = "Untertitel"
Darüber hinaus können Sie Schriftgröße, Farbe oder Zeilenumbrüche hinzufügen:
title.text = "Automatisch generierte
Folie mit Python"

4.2 Bilder und Formen hinzufügen

Zum Einfügen von Bildern in Folien wird die Methode add_picture() verwendet. Position und Größe können ebenfalls angegeben werden.
from pptx.util import Inches

img_path = 'image.png'
left = Inches(1)
top = Inches(2)
slide.shapes.add_picture(img_path, left, top)
Zusätzlich können auch Formen aus dem PowerPoint-Menü per Programm hinzugefügt und gestaltet werden:
from pptx.enum.shapes import MSO_SHAPE
shape = slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE, Inches(1), Inches(1), Inches(2), Inches(1))
shape.text = "Text in Form"
 
侍エンジニア塾

5. Erweiterte Automatisierungstechniken

5.1 Automatische Folienerstellung

Mit Schleifen können Sie große Mengen an Folien automatisch generieren. Beispiel:
for i in range(10):
    slide_layout = prs.slide_layouts[1]
    slide = prs.slides.add_slide(slide_layout)
    title = slide.shapes.title
    title.text = f"Folie {i+1}"
Dieser Code erzeugt 10 Folien, die automatisch nummeriert werden.

5.2 Bearbeitung bestehender Präsentationen

Es ist auch möglich, bestehende PowerPoint-Dateien zu laden und zu bearbeiten. Beispiel: den Titel der ersten Folie aktualisieren.
prs = Presentation('existing_presentation.pptx')
slide = prs.slides[0]
title = slide.shapes.title
title.text = "Aktualisierter Titel"
prs.save('updated_presentation.pptx')

6. Verbesserung des Erscheinungsbilds

6.1 Anwendung von Vorlagen

Mit python-pptx können Sie Designvorlagen anwenden, um professionell aussehende Präsentationen einfach zu erstellen. Dadurch erhalten Sie in kurzer Zeit ein hochwertiges Design.

6.2 Animationen und Übergänge

In fortgeschrittenen Präsentationen können zusätzlich Animationen und Folienübergänge eingestellt werden, um den visuellen Eindruck zu verstärken.

7. Fazit

python-pptx ist ein leistungsstarkes Tool, das den Aufwand für die Erstellung von Präsentationen erheblich reduziert. Besonders geeignet ist es, wenn Sie große Mengen an Folien gleichzeitig generieren oder datenbasierte Präsentationen automatisch erstellen möchten. Durch die Automatisierung mit Python lassen sich effiziente und qualitativ hochwertige Präsentationen leicht erstellen.
年収訴求