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.
.pptx‑Dateien über Presentation() oder Presentation(path).SlideCollection programmgesteuert mit add_clone(), remove() und remove_at().ShapeType‑Geometrien über add_auto_shape() ein.add_connector() hinzu.NotesSlideManager.get_slide_comments() zu.Portion‑Objekte über PortionFormat an.FillFormat und FillType.EffectFormat an.ParagraphFormat und set_alignment().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.
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;
}
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;
}
Es ist eine kostenlose, MIT-lizenzierte C++‑Bibliothek zum Erstellen, Lesen und Bearbeiten von PowerPoint‑.pptx‑Präsentationen, ohne Microsoft Office zu benötigen.
PPTX ist das unterstützte Lese‑/Schreibformat. Der Export nach PDF, HTML, SVG oder Bildern ist in dieser Edition nicht verfügbar.
Nein. Aspose.Slides FOSS ist eine eigenständige C++‑Bibliothek ohne Abhängigkeit von Microsoft Office, COM‑Automatisierung oder irgendeiner proprietären Laufzeit.
Verwenden Sie CMake FetchContent, um die Bibliothek direkt von GitHub zu integrieren. Die Bibliothek erfordert einen C++17‑konformen Compiler.
Ja. Die Bibliothek unterstützt Außenschatten, Leuchten, Unschärfe und Reflexionseffekte für jedes Form‑Objekt über die EffectFormat‑API.
Ja. Der Destruktor von Presentation gibt den gesamten internen Zustand automatisch frei, sodass keine explizite Aufräumung erforderlich ist.
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.
Die Bibliothek ist unter der MIT‑Lizenz veröffentlicht und auf GitHub gehostet. Fehlerberichte und Pull‑Requests sind willkommen.