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 eine proprietäre Laufzeit zu installieren.

Die Bibliothek stellt eine Presentation‑API bereit, die um Presentation, Slide, ShapeCollection, TextFrame, Paragraph und Portion herum aufgebaut ist, das konzeptuelle 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 Verlauffüllungen an und fügen Sie visuelle Effekte (Schatten, Leuchten, Unschärfe, Spiegelung) hinzu.

RAII‑Semantik stellt zuverlässige Ressourcenbereinigung sicher: Der Presentation-Destruktor gibt den gesamten internen Zustand automatisch frei. Unbekannte XML-Teile, die beim Laden gefunden werden, bleiben beim Speichern unverändert erhalten, sodass Round‑tripping niemals Inhalte zerstört, die die Bibliothek noch nicht versteht. Die Bibliothek erfordert einen C++20‑konformen Compiler. Für zusätzliche Funktionen siehe Aspose.Slides for C++ enterprise edition.

Präsentations‑ und Folien‑API

  • Erstellen und Öffnen von PPTX: Erstellen Sie neue Präsentationen oder öffnen Sie vorhandene .pptx-Dateien über Presentation() oder Presentation(path).
  • Folien hinzufügen und entfernen: Verwalten Sie das SlideCollection programmgesteuert mit add_empty_slide(), 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 Tabellenformen und Verbindungslinien zwischen Formen über add_connector() hinzu.
  • Speaker notes: Lese und schreibe pro Folie Sprecher-Notizen über NotesSlideManager.
  • Threaded comments: Zugriff auf Kommentar-Threads, indem Sie pres.comment_authors() iterieren und deren zugehörige Kommentare.

Wo Aspose.Slides FOSS verwendet werden kann

  • Berichtserstellung: Erstellen Sie markengeschützte Slide-Decks aus Datenquellen ohne Office.
  • Template-Automatisierung: Füllen Sie PPTX-Vorlagen mit dynamischem Inhalt in CI/CD-Pipelines.
  • Inhaltsmigration: Lesen Sie vorhandene Präsentationen und strukturieren oder gestalten Sie Folien neu.
  • Embedded systems: Verarbeiten Sie PPTX-Dateien in leistungs‑kritischen oder ressourcenbeschränkten Umgebungen.
  • Batch processing: Wenden Sie einheitliche Formatierungsänderungen auf große Foliendeck‑Bibliotheken an.

Textformatierung und visuelle Effekte

  • Zeichenbezogene Formatierung: Wenden Sie Fett, Kursiv, Schriftgröße und Farbe auf einzelne Portion-Objekte über PortionFormat an.
  • Füllungen mit Vollfarbe und Farbverlauf: Setzen Sie die Formfüllung auf eine Vollfarbe oder einen mehrstufigen linearen Farbverlauf mit FillFormat und FillType.
  • Schatten- und Leuchteffekte: Wenden Sie äußeren Schatten, Leuchten, Unschärfe und Reflexion auf jede Form über EffectFormat an.
  • Absatzausrichtung: Legen Sie die linke, zentrierte, rechte oder Blocksatz‑Ausrichtung pro Absatz mit ParagraphFormat und set_alignment() fest.
  • Rundweg-sicher: Unbekannte XML-Teile werden beim erneuten Speichern unverändert beibehalten.

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 (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion) wider, sodass jeder, der mit dem PowerPoint‑Objektmodell vertraut ist, die Bibliothek sofort nutzen kann. Sie ist MIT‑lizenziert, Open‑Source auf GitHub und erfordert einen C++20‑konformen Compiler.

Erstelle eine Präsentation und füge eine Form hinzu

RAII stellt sicher, dass der Presentation Destruktor alle Ressourcen automatisch freigibt, wenn das Objekt den Gültigkeitsbereich verlässt. add_auto_shape() nimmt ein ShapeType Enum entgegen, dann x/y‑Position und Breite/Höhe in Punkten — die text_frame der Form bietet Zugriff zum Festlegen 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];

    // Add a rectangle AutoShape
    auto& shape = slide.shapes().add_auto_shape(
        Aspose::Slides::Foss::ShapeType::RECTANGLE,
        50, 50, 400, 150
    );
    shape.text_frame()->set_text("Hello, Aspose.Slides!");

    prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
    return 0;
}
 ```cmake
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)
 

Text formatieren und einen Fülleffekt anwenden

Textformatierung funktioniert auf der Portion-Ebene — die kleinste Einheit einer Zeichenfolge. Öffnen Sie die gespeicherte Datei, navigieren Sie zum ersten Teil des ersten Absatzes und setzen Sie die Schriftarteigenschaften direkt. Die Formfüllung ist unabhängig: Stellen Sie den Fülltyp auf solid ein 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];

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

    // Solid background fill on the shape
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

    prs.save("formatted.pptx", asf::SaveFormat::PPTX);
    return 0;
}
 ```cpp
#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];

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

    // Solid background fill on the shape
    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 Ausgabe 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 irgendeinem proprietären Laufzeit.

Wie installiere ich es?

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

Kann ich visuelle Effekte wie Schatten und Leuchten anwenden?

Ja. Die Bibliothek unterstützt äußere Schatten-, Leucht-, Unschärfe- und Reflexionseffekte für jedes Formobjekt über die EffectFormat-API.

Verwendet die Bibliothek RAII für das Ressourcenmanagement?

Ja. Der Presentation-Destruktor 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, werden 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