Erstellung, Bearbeitung und Analyse von PPTX-Dateien
Überblick
Ein Benutzer kann Sie bitten, den Inhalt einer .pptx-Datei zu erstellen, zu bearbeiten oder zu analysieren. Eine .pptx-Datei ist im Wesentlichen ein ZIP-Archiv, das XML-Dateien und andere Ressourcen enthält, die Sie lesen oder bearbeiten können. Für verschiedene Aufgaben stehen Ihnen unterschiedliche Tools und Arbeitsabläufe zur Verfügung.
Lesen und Analysieren von Inhalten
Textextraktion
Wenn Sie nur den Textinhalt einer Präsentation lesen müssen, konvertieren Sie das Dokument in Markdown:
# Dokument in Markdown konvertieren
python -m markitdown pfad-zur-datei.pptx
Direkter XML-Zugriff
Sie benötigen direkten XML-Zugriff für: Kommentare, Sprechernotizen, Folienlayouts, Animationen, Gestaltungselemente und komplexe Formatierungen. Für solche Funktionen müssen Sie eine Präsentation entpacken und ihre rohen XML-Inhalte lesen.
Entpacken einer Datei
python ooxml/scripts/unpack.py <office_datei> <ausgabe_verzeichnis>
Hinweis: Das Skript unpack.py befindet sich unter skills/pptx/ooxml/scripts/unpack.py relativ zum Projektstamm. Wenn das Skript dort nicht existiert, verwenden Sie find . -name "unpack.py", um es zu finden.
Wichtige Dateistrukturen
ppt/presentation.xml– Hauptmetadaten der Präsentation und Folienreferenzenppt/slides/slide{N}.xml– Inhalt einzelner Folien (slide1.xml, slide2.xml, usw.)ppt/notesSlides/notesSlide{N}.xml– Sprechernotizen für jede Folieppt/comments/modernComment_*.xml– Kommentare zu bestimmten Folienppt/slideLayouts/– Layoutvorlagen für Folienppt/slideMasters/– Master-Folienvorlagenppt/theme/– Themen- und Stilinformationenppt/media/– Bilder und andere Mediendateien
Schriftart- und Farbextraktion
Wenn ein Beispieldesign zur Nachahmung vorgegeben wird: Analysieren Sie zunächst die Typografie und Farben der Präsentation mit den folgenden Methoden:
- Themendatei lesen: Prüfen Sie
ppt/theme/theme1.xmlauf Farben (<a:clrScheme>) und Schriftarten (<a:fontScheme>) - Beispielfolieninhalt: Untersuchen Sie
ppt/slides/slide1.xmlauf die tatsächliche Schriftverwendung (<a:rPr>) und Farben - Nach Mustern suchen: Verwenden Sie grep, um Farb- (
<a:solidFill>,<a:srgbClr>) und Schriftreferenzen in allen XML-Dateien zu finden
Erstellen einer neuen PowerPoint-Präsentation ohne Vorlage
Wenn Sie eine neue PowerPoint-Präsentation von Grund auf erstellen, verwenden Sie den html2pptx-Workflow, um HTML-Folien mit genauer Positionierung in PowerPoint zu konvertieren.
Gestaltungsprinzipien
WICHTIG: Analysieren Sie vor der Erstellung einer Präsentation den Inhalt und wählen Sie geeignete Gestaltungselemente aus:
- Berücksichtigen Sie das Thema: Worum geht es in dieser Präsentation? Welchen Ton, welche Branche oder welche Stimmung legt es nahe?
- Auf Branding prüfen: Wenn der Benutzer ein Unternehmen/eine Organisation erwähnt, berücksichtigen Sie dessen Markenfarben und Identität
- Farbpalette an den Inhalt anpassen: Wählen Sie Farben, die das Thema widerspiegeln
- Erläutern Sie Ihren Ansatz: Erklären Sie Ihre Gestaltungsentscheidungen, bevor Sie Code schreiben
Anforderungen:
- ✅ Erläutern Sie Ihren inhaltsbasierten Gestaltungsansatz VOR dem Schreiben von Code
- ✅ Verwenden Sie nur websichere Schriftarten: Arial, Helvetica, Times New Roman, Georgia, Courier New, Verdana, Tahoma, Trebuchet MS, Impact
- ✅ Schaffen Sie eine klare visuelle Hierarchie durch Größe, Stärke und Farbe
- ✅ Gewährleisten Sie Lesbarkeit: starker Kontrast, angemessen große Schrift, saubere Ausrichtung
- ✅ Seien Sie konsistent: Wiederholen Sie Muster, Abstände und visuelle Sprache auf allen Folien
Auswahl der Farbpalette
Farben kreativ auswählen:
- Denken Sie über Standardeinstellungen hinaus: Welche Farben passen wirklich zu diesem spezifischen Thema? Vermeiden Sie automatische Entscheidungen.
- Betrachten Sie mehrere Blickwinkel: Thema, Branche, Stimmung, Energielevel, Zielgruppe, Markenidentität (falls erwähnt)
- Seien Sie abenteuerlustig: Probieren Sie unerwartete Kombinationen – eine Gesundheitspräsentation muss nicht grün sein, Finanzen nicht marineblau.
- Bauen Sie Ihre Palette: Wählen Sie 3–5 Farben, die zusammenpassen (dominante Farben + unterstützende Töne + Akzent)
- Stellen Sie Kontrast sicher: Text muss auf Hintergründen klar lesbar sein
Beispiel-Farbpaletten (verwenden Sie diese, um Kreativität anzuregen – wählen Sie eine aus, passen Sie sie an oder erstellen Sie Ihre eigene):
- Klassisches Blau: Tiefes Marineblau (#1C2833), Schiefergrau (#2E4053), Silber (#AAB7B8), gebrochenes Weiß (#F4F6F6)
- Blaugrün & Koralle: Blaugrün (#5EA8A7), tiefes Blaugrün (#277884), Koralle (#FE4447), Weiß (#FFFFFF)
- Kräftiges Rot: Rot (#C0392B), helles Rot (#E74C3C), Orange (#F39C12), Gelb (#F1C40F), Grün (#2ECC71)
- Warmer Blush: Mauve (#A49393), Blush (#EED6D3), Rosa (#E8B4B8), Creme (#FAF7F2)
- Burgunder-Luxus: Burgunder (#5D1D2E), Purpurrot (#951233), Rost (#C15937), Gold (#997929)
- Tiefes Lila & Smaragd: Lila (#B165FB), Dunkelblau (#181B24), Smaragd (#40695B), Weiß (#FFFFFF)
- Creme & Waldgrün: Creme (#FFE1C7), Waldgrün (#40695B), Weiß (#FCFCFC)
- Pink & Lila: Pink (#F8275B), Koralle (#FF574A), Rosa (#FF737D), Lila (#3D2F68)
- Limette & Pflaume: Limette (#C5DE82), Pflaume (#7C3A5F), Koralle (#FD8C6E), Blaugrau (#98ACB5)
- Schwarz & Gold: Gold (#BF9A4A), Schwarz (#000000), Creme (#F4F6F6)
- Salbei & Terrakotta: Salbei (#87A96B), Terrakotta (#E07A5F), Creme (#F4F1DE), Holzkohle (#2C2C2C)
- Holzkohle & Rot: Holzkohle (#292929), Rot (#E33737), Hellgrau (#CCCBCB)
- Lebendiges Orange: Orange (#F96D00), Hellgrau (#F2F2F2), Holzkohle (#222831)
- Waldgrün: Schwarz (#191A19), Grün (#4E9F3D), Dunkelgrün (#1E5128), Weiß (#FFFFFF)
- Retro-Regenbogen: Lila (#722880), Pink (#D72D51), Orange (#EB5C18), Bernstein (#F08800), Gold (#DEB600)
- Vintage-Erdig: Senf (#E3B448), Salbei (#CBD18F), Waldgrün (#3A6B35), Creme (#F4F1DE)
- Küstenrose: Altrosa (#AD7670), Biber (#B49886), Eierschale (#F3ECDC), Aschgrau (#BFD5BE)
- Orange & Türkis: Helles Orange (#FC993E), gräuliches Türkis (#667C6F), Weiß (#FCFCFC)
Optionen für visuelle Details
Geometrische Muster:
- Diagonale Abschnittstrenner statt horizontaler
- Asymmetrische Spaltenbreiten (30/70, 40/60, 25/75)
- Gedrehte Textüberschriften um 90° oder 270°
- Kreisförmige/sechseckige Rahmen für Bilder
- Dreieckige Akzentformen in Ecken
- Überlappende Formen für Tiefe
Rahmen- & Umrandungsbehandlungen:
- Dicke einfarbige Rahmen (10–20 pt) nur auf einer Seite
- Doppellinienrahmen mit kontrastierenden Farben
- Eckklammern anstelle von vollständigen Rahmen
- L-förmige Rahmen (oben+links oder unten+rechts)
- Unterstreichungsakzente unter Überschriften (3–5 pt dick)
Typografie-Behandlungen:
- Extremen Größenkontrast (72-pt-Überschrift vs. 11-pt-Fließtext)
- Großbuchstaben-Überschriften mit breitem Zeichenabstand
- Nummerierte Abschnitte in übergroßer Auszeichnungsschrift
- Nichtproportionale Schrift (Courier New) für Daten/Statistiken/technische Inhalte
- Kondensierte Schriftarten (Arial Narrow) für dichte Informationen
- Konturierter Text zur Hervorhebung
Diagramm- & Datenstil:
- Monochrome Diagramme mit einer einzelnen Akzentfarbe für Schlüsseldaten
- Horizontale Balkendiagramme statt vertikaler
- Punktdiagramme statt Balkendiagramme
- Minimale oder gar keine Gitterlinien
- Datenbeschriftungen direkt auf den Elementen (keine Legenden)
- Übergroße Zahlen für wichtige Kennzahlen
Layout-Innovationen:
- Randlose Bilder mit Textüberlagerungen
- Seitenleiste (20–30 % Breite) für Navigation/Kontext
- Modulare Rastersysteme (3×3, 4×4-Blöcke)
- Z-Muster- oder F-Muster-Inhaltsfluss
- Schwebende Textfelder über farbigen Formen
- Mehrspaltige Layouts im Zeitschriftenstil
Hintergrundbehandlungen:
- Solide Farbblöcke, die 40–60 % der Folie einnehmen
- Verlaufsfüllungen (nur vertikal oder diagonal)
- Geteilte Hintergründe (zwei Farben, diagonal oder vertikal)
- Farbbänder von Rand zu Rand
- Negativraum als Gestaltungselement
Layout-Tipps
Beim Erstellen von Folien mit Diagrammen oder Tabellen:
- Zweispaltiges Layout (BEVORZUGT): Verwenden Sie eine Kopfzeile über die gesamte Breite und darunter zwei Spalten – Text/Aufzählungspunkte in einer Spalte und den hervorgehobenen Inhalt in der anderen. Dies sorgt für ein besseres Gleichgewicht und macht Diagramme/Tabellen lesbarer. Verwenden Sie Flexbox mit ungleichen Spaltenbreiten (z. B. 40 %/60 %), um den Platz für jeden Inhaltstyp zu optimieren.
- Ganzseitiges Layout: Lassen Sie den hervorgehobenen Inhalt (Diagramm/Tabelle) die gesamte Folie einnehmen, um maximale Wirkung und Lesbarkeit zu erzielen.
- NIEMALS vertikal stapeln: Platzieren Sie Diagramme/Tabellen nicht unter Text in einer einzelnen Spalte – dies führt zu schlechter Lesbarkeit und Layoutproblemen.
Arbeitsablauf
- OBLIGATORISCH – GESAMTE DATEI LESEN: Lesen Sie
html2pptx.mdvollständig von Anfang bis Ende. Setzen Sie beim Lesen dieser Datei NIEMALS Bereichsgrenzen. Lesen Sie den vollständigen Dateiinhalt für detaillierte Syntax, kritische Formatierungsregeln und bewährte Verfahren, bevor Sie mit der Präsentationserstellung fortfahren. - Erstellen Sie eine HTML-Datei für jede Folie mit den richtigen Abmessungen (z. B. 720pt × 405pt für 16:9)
- Verwenden Sie
<p>,<h1>–<h6>,<ul>,<ol>für den gesamten Textinhalt - Verwenden Sie
class="placeholder"für Bereiche, in denen Diagramme/Tabellen hinzugefügt werden (mit grauem Hintergrund zur Sichtbarkeit rendern) - WICHTIG: Rasterisieren Sie Verläufe und Symbole ZUERST mit Sharp als PNG-Bilder und referenzieren Sie sie dann im HTML
- LAYOUT: Verwenden Sie für Folien mit Diagrammen/Tabellen/Bildern entweder das ganzseitige Layout oder das zweispaltige Layout für bessere Lesbarkeit
- Verwenden Sie
- Erstellen und führen Sie eine JavaScript-Datei mit der Bibliothek
html2pptx.jsaus, um HTML-Folien in PowerPoint zu konvertieren und die Präsentation zu speichern- Verwenden Sie die Funktion
html2pptx(), um jede HTML-Datei zu verarbeiten - Fügen Sie Diagramme und Tabellen zu Platzhalterbereichen mithilfe der PptxGenJS-API hinzu
- Speichern Sie die Präsentation mit
pptx.writeFile()
- Verwenden Sie die Funktion
- Visuelle Validierung: Generieren Sie Miniaturen und prüfen Sie auf Layoutfehler
- Erstellen Sie ein Miniaturraster:
python scripts/thumbnail.py output.pptx workspace/thumbnails --cols 4 - Lesen und untersuchen Sie das Miniaturbild sorgfältig auf:
- Textabschneidung: Text, der durch Kopfzeilen, Formen oder Folienränder abgeschnitten wird
- Textüberlappung: Text, der mit anderem Text oder Formen überlappt
- Positionierungsprobleme: Inhalt zu nah an Folienrändern oder anderen Elementen
- Kontrastprobleme: Unzureichender Kontrast zwischen Text und Hintergründen
- Wenn Probleme gefunden werden, passen Sie HTML-Ränder/Abstände/Farben an und generieren Sie die Präsentation neu
- Wiederholen Sie den Vorgang, bis alle Folien visuell korrekt sind
- Erstellen Sie ein Miniaturraster:
Bearbeiten einer vorhandenen PowerPoint-Präsentation
Beim Bearbeiten von Folien in einer vorhandenen PowerPoint-Präsentation müssen Sie mit dem rohen Office-Open-XML-Format (OOXML) arbeiten. Dies umfasst das Entpacken der .pptx-Datei, das Bearbeiten des XML-Inhalts und das erneute Verpacken.
Arbeitsablauf
- OBLIGATORISCH – GESAMTE DATEI LESEN: Lesen Sie
ooxml.md(~500 Zeilen) vollständig von Anfang bis Ende. Setzen Sie beim Lesen dieser Datei NIEMALS Bereichsgrenzen. Lesen Sie den vollständigen Dateiinhalt für detaillierte Anleitungen zur OOXML-Struktur und zu Bearbeitungsabläufen, bevor Sie mit der Präsentationsbearbeitung beginnen. - Entpacken Sie die Präsentation:
python ooxml/scripts/unpack.py <office_datei> <ausgabe_verzeichnis> - Bearbeiten Sie die XML-Dateien (hauptsächlich
ppt/slides/slide{N}.xmlund zugehörige Dateien) - WICHTIG: Validieren Sie sofort nach jeder Bearbeitung und beheben Sie alle Validierungsfehler, bevor Sie fortfahren:
python ooxml/scripts/validate.py <verzeichnis> --original <datei> - Packen Sie die endgültige Präsentation:
python ooxml/scripts/pack.py <eingabe_verzeichnis> <office_datei>
Erstellen einer neuen PowerPoint-Präsentation mithilfe einer Vorlage
Wenn Sie eine Präsentation erstellen müssen, die dem Design einer vorhandenen Vorlage folgt, müssen Sie Vorlagenfolien duplizieren und neu anordnen, bevor Sie Platzhalterinhalte ersetzen.
Arbeitsablauf
-
Vorlagentext extrahieren UND visuelles Miniaturraster erstellen:
- Text extrahieren:
python -m markitdown vorlage.pptx > vorlagen-inhalt.md vorlagen-inhalt.mdlesen: Lesen Sie die gesamte Datei, um den Inhalt der Vorlagenpräsentation zu verstehen. Setzen Sie beim Lesen dieser Datei NIEMALS Bereichsgrenzen.- Miniaturraster erstellen:
python scripts/thumbnail.py vorlage.pptx - Siehe Abschnitt Miniaturraster erstellen für weitere Details
- Text extrahieren:
-
Vorlage analysieren und Bestandsaufnahme in einer Datei speichern:
- Visuelle Analyse: Überprüfen Sie das/die Miniaturraster, um Folienlayouts, Gestaltungsmuster und visuelle Struktur zu verstehen
- Erstellen und speichern Sie eine Vorlagenbestandsdatei unter
vorlagen-bestand.mdmit folgendem Inhalt:# Analyse des Vorlagenbestands **Gesamtfolien: [Anzahl]** **WICHTIG: Folien sind 0-indiziert (erste Folie = 0, letzte Folie = Anzahl-1)** ## [Kategoriename] - Folie 0: [Layoutcode, falls verfügbar] – Beschreibung/Zweck - Folie 1: [Layoutcode] – Beschreibung/Zweck - Folie 2: [Layoutcode] – Beschreibung/Zweck [... JEDE Folie muss einzeln mit ihrem Index aufgeführt werden ...] - Verwendung des Miniaturrasters: Referenzieren Sie die visuellen Miniaturen, um Folgendes zu identifizieren:
- Layoutmuster (Titelfolien, Inhaltslayouts, Abschnittstrenner)
- Positionen und Anzahl der Bildplatzhalter
- Gestaltungskonsistenz über Foliengruppen hinweg
- Visuelle Hierarchie und Struktur
- Diese Bestandsdatei ist ERFORDERLICH, um im nächsten Schritt geeignete Vorlagen auszuwählen
-
Präsentationsgliederung basierend auf dem Vorlagenbestand erstellen:
- Verfügbare Vorlagen aus Schritt 2 überprüfen.
- Wählen Sie eine Einführungs- oder Titelvorlage für die erste Folie. Dies sollte eine der ersten Vorlagen sein.
- Wählen Sie sichere, textbasierte Layouts für die anderen Folien.
WICHTIG: Layoutstruktur an den tatsächlichen Inhalt anpassen:
- Einspaltige Layouts: Verwenden für einheitliche Erzählung oder ein einzelnes Thema
- Zweispaltige Layouts: NUR verwenden, wenn Sie genau 2 verschiedene Elemente/Konzepte haben
- Dreispaltige Layouts: NUR verwenden, wenn Sie genau 3 verschiedene Elemente/Konzepte haben
- Bild+Text-Layouts: NUR verwenden, wenn Sie tatsächliche Bilder einzufügen haben
- Zitatlayouts: NUR für tatsächliche Zitate von Personen (mit Quellenangabe) verwenden, niemals zur Hervorhebung
- Verwenden Sie niemals Layouts mit mehr Platzhaltern, als Sie Inhalte haben
- Wenn Sie 2 Elemente haben, zwingen Sie sie nicht in ein dreispaltiges Layout
- Wenn Sie 4+ Elemente haben, erwägen Sie, sie auf mehrere Folien aufzuteilen oder ein Listenformat zu verwenden
- Zählen Sie Ihre tatsächlichen Inhaltsteile VOR der Auswahl des Layouts
- Stellen Sie sicher, dass jeder Platzhalter im gewählten Layout mit sinnvollen Inhalten gefüllt wird
Miniaturraster erstellen
Sie können Miniaturraster mit dem Thumbnail-Skript erstellen:
python scripts/thumbnail.py <präsentationsdatei>
Dieses Skript generiert Rasterbilder aller Folien, die Sie visuell inspizieren können.
Hinweis: Das Skript thumbnail.py befindet sich im scripts/-Verzeichnis am Projektstamm. Legen Sie die Ausgabedateien im Stammverzeichnis des Projekts ab.
Zusammenfassung der Arbeitsabläufe
| Aufgabe | Methode | Dateityp | Ausgabe |
|---|---|---|---|
| Nur Text lesen | markitdown | .pptx | Markdown |
| Struktur & Nicht-Text | Entpacken + XML lesen | .xml | Rohdaten |
| Neu erstellen (keine Vorlage) | html2pptx | .html → .pptx | PowerPoint |
| Neu erstellen (Vorlage) | Vorlagenbestand & Neuanordnung | .pptx → .pptx | PowerPoint |
| Vorhandene bearbeiten | Entpacken → XML bearbeiten → Verpacken | .pptx → .pptx | PowerPoint |