1. Produkte
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for C++

Aspose.Slides FOSS für C++

Erstellen, lesen und bearbeiten Sie PowerPoint-Präsentationen aus C++ — kostenlos und Open-Source, keine Office-Abhängigkeit erforderlich.

Open-Source C++-Bibliothek für PowerPoint-Präsentationen

Aspose.Slides FOSS für C++ ist eine MIT-lizenzierte Bibliothek zum Arbeiten mit PowerPoint .pptx-Dateien. Integrieren Sie sie über CMake FetchContent und beginnen Sie sofort mit dem Erstellen, Lesen und Bearbeiten von Präsentationen, ohne Microsoft Office oder irgendeine proprietäre Laufzeit zu installieren.

Die Bibliothek stellt eine Presentation‑API bereit, die um Presentation, Slide, ShapeCollection, TextFrame, Paragraph und Portion herum aufgebaut ist, dem konzeptuellen Modell, das PowerPoint selbst verwendet. Fügen Sie Folien hinzu oder entfernen Sie sie, fügen Sie AutoShapes, Tabellen und Verbinder ein, formatieren Sie Text auf Zeichenebene mit Fett, Kursiv, Schriftgröße und -farbe, wenden Sie einfarbige oder Verlauf‑Füllungen an und fügen Sie visuelle Effekte (Schatten, Leuchten, Unschärfe, Spiegelung) hinzu.

RAII‑Semantik sorgt für zuverlässige Ressourcenbereinigung: Der Destruktor von Presentation gibt den gesamten internen Zustand automatisch frei. Unbekannte XML‑Teile, die beim Laden gefunden werden, bleiben beim Speichern unverändert erhalten, sodass das Round‑Trip‑Verfahren niemals Inhalte zerstört, die die Bibliothek noch nicht versteht. Die Bibliothek erfordert einen C++17‑konformen Compiler.

Präsentations- und Folien-API

  • PPTX erstellen und öffnen: Erstellen Sie neue Präsentationen oder öffnen Sie vorhandene .pptx‑Dateien über Presentation() oder Presentation(path).
  • Folien hinzufügen und entfernen: Verwalten Sie die SlideCollection programmgesteuert mit add_clone(), remove() und remove_at().
  • AutoShapes: Fügen Sie Rechtecke, Ellipsen, Linien und andere ShapeType‑Geometrien über add_auto_shape() ein.
  • Tabellen und Verbinder: Fügen Sie strukturierte Tabellformen und Verbinder‑Linien zwischen Formen über add_connector() hinzu.
  • Sprecher‑Notizen: Lesen und schreiben Sie pro Folie Sprecher‑Notizen über NotesSlideManager.
  • Threaded‑Kommentare: Greifen Sie auf Folien‑Ebene Kommentar‑Threads mit get_slide_comments() zu.

Wo Aspose.Slides FOSS verwendet werden kann

  • Berichtserstellung: Erstellen Sie gebrandete Folienpräsentationen aus Datenquellen ohne Office.
  • Vorlagen‑Automatisierung: Füllen Sie PPTX‑Vorlagen mit dynamischem Inhalt in CI/CD‑Pipelines.
  • Content migration: Vorhandene Präsentationen lesen und Folien neu strukturieren oder neu stylen.
  • Embedded systems: PPTX-Dateien in leistungs‑kritischen oder ressourcenbeschränkten Umgebungen verarbeiten.
  • Batch processing: Einheitliche Formatierungsänderungen auf große Folienbibliotheken anwenden.

Textformatierung und visuelle Effekte

  • Zeichen‑basierte Formatierung: Wenden Sie Fett, Kursiv, Schriftgröße und -farbe auf einzelne Portion‑Objekte über PortionFormat an.
  • Einfarbige und Verlauf‑Füllungen: Setzen Sie die Formfüllung auf eine einfarbige Farbe oder einen mehrstufigen linearen Verlauf mit FillFormat und FillType.
  • Schatten‑ und Leuchteffekte: Wenden Sie äußeren Schatten, Leuchten, Unschärfe und Spiegelung auf jede Form über EffectFormat an.
  • Absatzausrichtung: Setzen Sie links, zentriert, rechts oder Blocksatz‑Ausrichtung pro Absatz mit ParagraphFormat und set_alignment().
  • Round‑Trip‑sicher: Unbekannte XML‑Teile werden beim erneuten Speichern unverändert erhalten.

Entwicklererfahrung

Aspose.Slides FOSS integriert sich über CMake FetchContent, sodass kein manuelles Herunterladen oder systemweite Installation erforderlich ist. Die Bibliothek wird aus dem Quellcode zusammen mit Ihrem Projekt gebaut.

Die API spiegelt das eigene Objektmodell von PowerPoint wider (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), sodass jeder, der mit dem PowerPoint‑Objektmodell vertraut ist, die Bibliothek sofort nutzen kann. Sie ist unter der MIT-Lizenz veröffentlicht, Open‑Source auf GitHub und erfordert einen C++17‑konformen Compiler.

Erstellen Sie eine Präsentation und fügen Sie eine Form hinzu

RAII stellt sicher, dass der Destruktor von Presentation alle Ressourcen automatisch freigibt, wenn das Objekt den Gültigkeitsbereich verlässt. add_auto_shape() nimmt ein ShapeType‑Enum entgegen, gefolgt von x/y‑Position sowie Breite/Höhe in Punkten – das text_frame der Form bietet Zugriff zum Setzen des Textinhalts.

include(FetchContent)
FetchContent_Declare(
  aspose_slides_foss
  GIT_REPOSITORY https://github.com/aspose-slides-foss/Aspose.Slides-FOSS-for-Cpp.git
  GIT_TAG main
)
FetchContent_MakeAvailable(aspose_slides_foss)
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_collection.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>
#include <Aspose/Slides/Foss/text_frame.h>

int main() {
    Aspose::Slides::Foss::Presentation prs;
    auto& slide = prs.slides()[0];

    // Füge ein Rechteck‑AutoShape hinzu
    auto& shape = slide.shapes().add_auto_shape(
        Aspose::Slides::Foss::ShapeType::RECTANGLE,
        50, 50, 400, 150
    );
    shape.text_frame()->set_text("Hallo, Aspose.Slides!");

    prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
    return 0;
}

Text formatieren und einen Fülleffekt anwenden

Textformatierung funktioniert auf Portion‑Ebene — die kleinste Einheit einer Zeichenfolge. Öffnen Sie die gespeicherte Datei, navigieren Sie zum ersten Portion des ersten Absatzes und setzen Sie die Schriftarteigenschaften direkt. Die Formfüllung ist unabhängig: Setzen Sie den Fülltyp auf solid und weisen Sie eine Farbe zu.

#include <Aspose/Slides/Foss/presentation.h>

namespace asf = Aspose::Slides::Foss;

int main() {
    asf::Presentation prs("output.pptx");
    auto& shape = prs.slides()[0].shapes()[0];
    auto& portion = shape.text_frame()
        ->paragraphs()[0].portions()[0];

    // Fett, 18pt Text
    portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
    portion.portion_format().set_font_height(18);

    // Solide Hintergrundfüllung für die Form
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

    prs.save("formatted.pptx", asf::SaveFormat::PPTX);
    return 0;
}

Häufig gestellte Fragen

Was ist Aspose.Slides FOSS für C++?

Es ist eine kostenlose, MIT-lizenzierte C++‑Bibliothek zum Erstellen, Lesen und Bearbeiten von PowerPoint‑.pptx‑Präsentationen, ohne Microsoft Office zu benötigen.

Welche Dateiformate werden unterstützt?

PPTX ist das unterstützte Lese‑/Schreibformat. Der Export nach PDF, HTML, SVG oder Bildern ist in dieser Edition nicht verfügbar.

Benötigt es Microsoft Office oder PowerPoint?

Nein. Aspose.Slides FOSS ist eine eigenständige C++‑Bibliothek ohne Abhängigkeit von Microsoft Office, COM‑Automatisierung oder irgendeiner proprietären Laufzeit.

Wie installiere ich es?

Verwenden Sie CMake FetchContent, um die Bibliothek direkt von GitHub zu integrieren. Die Bibliothek erfordert einen C++17‑konformen Compiler.

Kann ich visuelle Effekte wie Schatten und Leuchten anwenden?

Ja. Die Bibliothek unterstützt Außen­schatten, Leuchten, Unschärfe und Reflexionseffekte für jedes Form‑Objekt über die EffectFormat‑API.

Verwendet die Bibliothek RAII für das Ressourcenmanagement?

Ja. Der Destruktor von Presentation gibt den gesamten internen Zustand automatisch frei, sodass keine explizite Aufräumung erforderlich ist.

Wird das Round‑Trip einer PPTX unbekannte Inhalte zerstören?

Nein. Unbekannte XML‑Teile, die beim Laden gefunden werden, bleiben beim Speichern unverändert erhalten, sodass Inhalte, die die Bibliothek noch nicht versteht, niemals verloren gehen.

Wo finde ich den Quellcode?

Die Bibliothek ist unter der MIT‑Lizenz veröffentlicht und auf GitHub gehostet. Fehlerberichte und Pull‑Requests sind willkommen.

  

Support und Lernressourcen

 Deutsch