Erstellung, Bearbeitung und Analyse von PPTX-Dateien
Übersicht
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 Workflows zur Verfügung.
Lesen und Analysieren von Inhalten
Textextraktion
Wenn Sie nur den Textinhalt einer Präsentation lesen müssen, sollten Sie das Dokument in Markdown konvertieren:
# 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, Designelemente und komplexe Formatierungen. Für all diese Funktionen müssen Sie eine Präsentation entpacken und die rohen XML-Inhalte lesen.
Eine Datei entpacken
python ooxml/scripts/unpack.py <office_datei> <ausgabeverzeichnis>
Hinweis: Das Skript unpack.py befindet sich unter skills/pptx/ooxml/scripts/unpack.py relativ zum Projektstamm. Wenn das Skript unter diesem Pfad 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– Einzelne Folieninhalte (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/– Masterfolienvorlagenppt/theme/– Themen- und Stilinformationenppt/media/– Bilder und andere Mediendateien
Typografie- und Farbextraktion
Wenn ein Beispieldesign zum Nachahmen gegeben wird: Analysieren Sie zuerst die Typografie und Farben der Präsentation mit den folgenden Methoden:
- Themendatei lesen: Überprüfen Sie
ppt/theme/theme1.xmlauf Farben (<a:clrScheme>) und Schriftarten (<a:fontScheme>) - Beispielfolieninhalt: Untersuchen Sie
ppt/slides/slide1.xmlauf 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 präziser Positionierung in PowerPoint zu konvertieren.
Gestaltungsprinzipien
KRITISCH: Bevor Sie eine Präsentation erstellen, analysieren Sie den Inhalt und wählen Sie geeignete Gestaltungselemente aus:
- Betrachten 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
- Palette an Inhalt anpassen: Wählen Sie Farben, die das Thema widerspiegeln
- Geben Sie Ihren Ansatz an: Erklären Sie Ihre Gestaltungsentscheidungen, bevor Sie Code schreiben
Anforderungen:
- ✅ Geben Sie Ihren inhaltsbasierten Gestaltungsansatz AN, BEVOR Sie Code schreiben
- ✅ 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, Gewicht und Farbe
- ✅ Stellen Sie Lesbarkeit sicher: starker Kontrast, angemessen große Texte, saubere Ausrichtung
- ✅ Seien Sie konsistent: wiederholen Sie Muster, Abstände und visuelle Sprache über alle Folien hinweg
Auswahl der Farbpalette
Farben kreativ auswählen:
- Denken Sie über Standardfarben hinaus: Welche Farben passen wirklich zu diesem spezifischen Thema? Vermeiden Sie Standardentscheidungen.
- Berücksichtigen Sie mehrere Blickwinkel: Thema, Branche, Stimmung, Energieniveau, Zielgruppe, Markenidentität (falls erwähnt)
- Seien Sie abenteuerlustig: Probieren Sie unerwartete Kombinationen aus – eine Präsentation im Gesundheitswesen muss nicht grün sein, Finanzen müssen nicht marineblau sein
- Bauen Sie Ihre Palette auf: Wählen Sie 3-5 Farben, die zusammenpassen (dominante Farben + unterstützende Töne + Akzente)
- 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), Cremeweiß (#F4F6F6)
- Blaugrün & Koralle: Blaugrün (#5EA8A7), tiefes Blaugrün (#277884), Koralle (#FE4447), Weiß (#FFFFFF)
- Kräftiges Rot: Rot (#C0392B), leuchtendes Rot (#E74C3C), Orange (#F39C12), Gelb (#F1C40F), Grün (#2ECC71)
- Warmes Rosé: Mauve (#A49393), Rosé (#EED6D3), Rose (#E8B4B8), Creme (#FAF7F2)
- Burgunderrot Luxus: Burgunderrot (#5D1D2E), Karmesinrot (#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), Rose (#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)
- Lebhaftes 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: Hellorange (#FC993E), gräuliches Türkis (#667C6F), Weiß (#FCFCFC)
Optionen für visuelle Details
Geometrische Muster:
- Diagonale Bereichstrenner anstelle von horizontalen
- Asymmetrische Spaltenbreiten (30/70, 40/60, 25/75)
- Gedrehte Text-Header um 90° oder 270°
- Kreisförmige/sechseckige Rahmen für Bilder
- Dreieckige Akzentformen in Ecken
- Überlappende Formen für Tiefe
Rand- & Rahmenbehandlungen:
- Dicke einfarbige Ränder (10-20pt) nur auf einer Seite
- Doppellinienränder mit kontrastierenden Farben
- Eckklammern anstelle von vollständigen Rahmen
- L-förmige Ränder (oben+links oder unten+rechts)
- Unterstreichungsakzente unter Headern (3-5pt dick)
Typografiebehandlungen:
- Extreme Größenunterschiede (72pt Überschriften vs. 11pt Fließtext)
- Headers in Großbuchstaben mit weitem Buchstabenabstand
- Nummerierte Abschnitte in übergroßer Darstellung
- Monospace (Courier New) für Daten/Statistiken/technische Inhalte
- Kondensierte Schriftarten (Arial Narrow) für dichte Informationen
- Umrissener Text zur Hervorhebung
Diagramm- & Datenstil:
- Monochrome Diagramme mit einer einzigen Akzentfarbe für Schlüsseldaten
- Horizontale Balkendiagramme anstelle von vertikalen
- Punktdiagramme anstelle von Balkendiagrammen
- Minimale oder gar keine Gitternetzlinien
- Datenbeschriftungen direkt auf den Elementen (keine Legenden)
- Übergroße Zahlen für Schlüsselkennzahlen
Layout-Innovationen:
- Bilder mit vollem Rand und Textüberlagerungen
- Seitenleiste (20-30% Breite) für Navigation/Kontext
- Modulare Rastersysteme (3×3, 4×4 Blöcke)
- Z-Muster oder F-Muster für Inhaltsfluss
- Schwebende Textfelder über farbigen Formen
- Mehrspaltige Layouts im Magazinstil
Hintergrundbehandlungen:
- Solide Farbblöcke, die 40-60% der Folie einnehmen
- Farbverläufe (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:
- Zweispalten-Layout (BEVORZUGT): Verwenden Sie einen Header über die gesamte Breite, darunter zwei Spalten – Text/Aufzählungspunkte in einer Spalte und den hervorgehobenen Inhalt in der anderen. Dies sorgt für eine bessere Ausgewogenheit und macht Diagramme/Tabellen lesbarer. Verwenden Sie Flexbox mit ungleichen Spaltenbreiten (z. B. 40%/60%-Aufteilung), um den Platz für jeden Inhaltstyp zu optimieren.
- Vollfolien-Layout: Lassen Sie den hervorgehobenen Inhalt (Diagramm/Tabelle) die gesamte Folie einnehmen, um maximale Wirkung und Lesbarkeit zu erzielen
- NIE vertikal stapeln: Platzieren Sie Diagramme/Tabellen niemals unter Text in einer einzelnen Spalte – dies führt zu schlechter Lesbarkeit und Layout-Problemen
Arbeitsablauf
- VERPFLICHTEND – GANZE DATEI LESEN: Lesen Sie
html2pptx.mdvollständig von Anfang bis Ende. Legen Sie beim Lesen dieser Datei niemals Bereichsgrenzen fest. Lesen Sie den vollständigen Dateiinhalt für detaillierte Syntax, kritische Formatierungsregeln und bewährte Methoden, 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 alle Textinhalte - Verwenden Sie
class="placeholder"für Bereiche, in denen Diagramme/Tabellen hinzugefügt werden (mit grauem Hintergrund für Sichtbarkeit rendern) - KRITISCH: Rastern Sie Verläufe und Symbole ZUERST als PNG-Bilder mit Sharp, referenzieren Sie sie dann im HTML
- LAYOUT: Verwenden Sie für Folien mit Diagrammen/Tabellen/Bildern entweder das Vollfolien-Layout oder das Zweispalten-Layout für bessere Lesbarkeit
- Verwenden Sie
- Erstellen Sie eine JavaScript-Datei und führen Sie sie 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 in Platzhalterbereiche mit der PptxGenJS-API ein
- Speichern Sie die Präsentation mit
pptx.writeFile()
- Verwenden Sie die Funktion
- Visuelle Validierung: Generieren Sie Miniaturansichten und überprüfen Sie sie auf Layout-Probleme
- Erstellen Sie ein Miniaturansichtsraster:
python scripts/thumbnail.py output.pptx workspace/thumbnails --cols 4 - Lesen und untersuchen Sie das Miniaturansichtsbild sorgfältig auf:
- Textabschneidungen: Text, der durch Header-Leisten, Formen oder Folienränder abgeschnitten wird
- Textüberlappungen: Text, der sich mit anderem Text oder Formen überschneidet
- Positionierungsprobleme: Inhalt zu nah an Folienrändern oder anderen Elementen
- Kontrastprobleme: Unzureichender Kontrast zwischen Text und Hintergründen
- Wenn Probleme gefunden werden, passen Sie die HTML-Ränder/Abstände/Farben an und generieren Sie die Präsentation neu
- Wiederholen Sie dies, bis alle Folien visuell korrekt sind
- Erstellen Sie ein Miniaturansichtsraster:
Bearbeiten einer vorhandenen PowerPoint-Präsentation
Wenn Sie Folien in einer vorhandenen PowerPoint-Präsentation bearbeiten, müssen Sie mit dem rohen Office Open XML (OOXML)-Format arbeiten. Dazu gehört das Entpacken der .pptx-Datei, das Bearbeiten des XML-Inhalts und das erneute Packen.
Arbeitsablauf
- VERPFLICHTEND – GANZE DATEI LESEN: Lesen Sie
ooxml.md(~500 Zeilen) vollständig von Anfang bis Ende. Legen Sie beim Lesen dieser Datei niemals Bereichsgrenzen fest. Lesen Sie den vollständigen Dateiinhalt für detaillierte Anleitungen zur OOXML-Struktur und zu Bearbeitungsabläufen, bevor Sie eine Präsentation bearbeiten. - Entpacken Sie die Präsentation:
python ooxml/scripts/unpack.py <office_datei> <ausgabeverzeichnis> - Bearbeiten Sie die XML-Dateien (hauptsächlich
ppt/slides/slide{N}.xmlund zugehörige Dateien) - KRITISCH: Validieren Sie sofort nach jeder Bearbeitung und beheben Sie alle Validierungsfehler, bevor Sie fortfahren:
python ooxml/scripts/validate.py <verz> --original <datei> - Packen Sie die endgültige Präsentation:
python ooxml/scripts/pack.py <eingabeverzeichnis> <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 Miniaturansichtsraster erstellen:
- Text extrahieren:
python -m markitdown template.pptx > template-content.md template-content.mdlesen: Lesen Sie die gesamte Datei, um den Inhalt der Vorlagenpräsentation zu verstehen. Legen Sie beim Lesen dieser Datei niemals Bereichsgrenzen fest.- Miniaturansichtsraster erstellen:
python scripts/thumbnail.py template.pptx - Siehe Abschnitt Miniaturansichtsraster erstellen für weitere Details
- Text extrahieren:
-
Vorlage analysieren und Inventar in einer Datei speichern:
- Visuelle Analyse: Überprüfen Sie das/die Miniaturansichtsraster, um Folienlayouts, Designmuster und visuelle Struktur zu verstehen
- Erstellen und speichern Sie eine Vorlageninventardatei unter
template-inventory.mdmit folgendem Inhalt:# Vorlageninventar-Analyse **Gesamtfolien: [Anzahl]** **WICHTIG: Folien sind 0-indexiert (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 aufgelistet werden ...] - Miniaturansichtsraster verwenden: Referenzieren Sie die visuellen Miniaturansichten, um Folgendes zu identifizieren:
- Layoutmuster (Titelfolien, Inhaltslayouts, Abschnittstrenner)
- Positionen und Anzahl der Bildplatzhalter
- Designkonsistenz über Folien gruppen hinweg
- Visuelle Hierarchie und Struktur
- Diese Inventardatei ist ERFORDERLICH, um im nächsten Schritt geeignete Vorlagen auszuwählen
-
Präsentationsgliederung basierend auf Vorlageninventar erstellen:
- Überprüfen Sie verfügbare Vorlagen aus Schritt 2.
- Wählen Sie eine Einführungs- oder Titelfolienvorlage für die erste Folie. Dies sollte eine der ersten Vorlagen sein.
- Wählen Sie sichere, textbasierte Layouts für die anderen Folien.
- KRITISCH: Layoutstruktur an tatsächlichen Inhalt anpassen:
- Einspalten-Layouts: Verwenden Sie diese für einheitliche Erzählungen oder einzelne Themen
- Zweispalten-Layouts: Verwenden Sie diese NUR, wenn Sie genau 2 verschiedene Elemente/Konzepte haben
- Dreispalten-Layouts: Verwenden Sie diese NUR, wenn Sie genau 3 verschiedene Elemente/Konzepte haben
- Bild + Text-Layouts: Verwenden Sie diese NUR, wenn Sie tatsächliche Bilder einzufügen haben
- Zitat-Layouts: Verwenden Sie diese NUR für tatsächliche Zitate von Personen (mit Quellenangabe), niemals zur Hervorhebung
- Verwenden Sie niemals Layouts mit mehr Platzhaltern, als Sie Inhalt haben
- Wenn Sie 2 Elemente haben, zwingen Sie sie nicht in ein 3-spaltiges Layout
- Wenn Sie 4+ Elemente haben, sollten Sie eine Aufteilung auf mehrere Folien oder die Verwendung eines Listenformats in Betracht ziehen
- Zählen Sie Ihre tatsächlichen Inhaltsteile, BEVOR Sie das Layout auswählen
- Überprüfen Sie, ob jeder Platzhalter im gewählten Layout mit sinnvollem Inhalt gefüllt wird
- Wählen Sie eine Option aus, die das beste Layout für jeden Inhaltsabschnitt darstellt.
- Speichern Sie
outline.mdmit Inhalt UND Vorlagenzuordnung, die die verfügbaren Designs nutzt - Beispiel für eine Vorlagenzuordnung:
...
[truncated for translation]