Aspose.Slides FOSS voor C++ is een MIT-gelicentieerde bibliotheek voor het werken met PowerPoint .pptx bestanden. Integreer het via CMake FetchContent en begin meteen met het maken, lezen en bewerken van presentaties zonder Microsoft Office of enige propriëtaire runtime te installeren.
De bibliotheek biedt een Presentation API die is opgebouwd rond Presentation, Slide, ShapeCollection, TextFrame, Paragraph en Portion, het conceptuele model dat PowerPoint zelf gebruikt. Voeg dia’s toe en verwijder ze, voeg AutoShapes, Tabellen en Connectors in, formatteer tekst op tekenniveau met vet, cursief, lettergrootte en kleur, pas solide of verloopvullingen toe, en voeg visuele effecten toe (schaduw, gloed, vervaging, reflectie).
RAII-semantiek zorgt voor betrouwbare opruiming van bronnen: de Presentation destructor maakt alle interne staat automatisch vrij. Onbekende XML onderdelen die tijdens het laden worden aangetroffen, worden bij het opslaan letterlijk bewaard, zodat round-tripping nooit inhoud vernietigt die de bibliotheek nog niet begrijpt. De bibliotheek vereist een C++20-conforme compiler. Voor extra functies, zie Aspose.Slides for C++ enterprise edition.
.pptx-bestanden via Presentation() of Presentation(path).SlideCollection programmatisch met add_empty_slide(), remove() en remove_at().ShapeType geometrieën toe via add_auto_shape().add_connector().NotesSlideManager.pres.comment_authors() te itereren en hun bijbehorende commentaren.Portion objecten via PortionFormat.FillFormat en FillType.EffectFormat.ParagraphFormat en set_alignment().Aspose.Slides FOSS integreert via CMake FetchContent, dus er is geen handmatige download of systeemwijde installatie nodig. De bibliotheek wordt vanuit de broncode gebouwd naast uw project.
De API spiegelt het eigen objectmodel van PowerPoint (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), zodat iedereen die bekend is met het PowerPoint‑objectmodel de bibliotheek direct kan gebruiken. Het is MIT‑gelicentieerd, open source op GitHub, en vereist een C++20‑conforme compiler.
RAII zorgt ervoor dat de Presentation destructor alle resources automatisch vrijgeeft wanneer het object buiten de scope valt. add_auto_shape() neemt een ShapeType enum, vervolgens x/y positie en breedte/hoogte in points — de text_frame van de shape biedt toegang om tekstinhoud in te stellen.
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)
Tekstopmaak werkt op het Portion-niveau — de kleinste eenheid van een reeks tekens. Open het opgeslagen bestand, navigeer naar het eerste gedeelte van de eerste alinea, en stel de lettertype‑eigenschappen direct in. Vulling van vormen is onafhankelijk: stel het vultype in op solid en wijs een kleur toe.
#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;
}
Het is een gratis, MIT-gelicentieerde C++-bibliotheek voor het maken, lezen en bewerken van PowerPoint .pptx presentaties zonder Microsoft Office te vereisen.
.pptx is het ondersteunde lees-/schrijfformaat. Exporteren naar PDF, HTML, SVG of afbeeldingen is niet beschikbaar in deze editie.
Nee. Aspose.Slides FOSS is een zelfstandige C++-bibliotheek zonder afhankelijkheid van Microsoft Office, COM-automatisering of enige propriëtaire runtime.
Gebruik CMake FetchContent om de bibliotheek direct van GitHub te integreren. De bibliotheek vereist een C++20-conforme compiler.
Ja. De bibliotheek ondersteunt buitenste schaduw, gloed, vervaging en reflectie-effecten op elk vormobject via de EffectFormat API.
Ja. De Presentation destructor geeft alle interne staat automatisch vrij, zodat expliciete opruiming niet nodig is.
Nee. Onbekende XML-onderdelen die tijdens het laden worden aangetroffen, worden bij het opslaan letterlijk bewaard, zodat inhoud die de bibliotheek nog niet begrijpt nooit verloren gaat.
De bibliotheek is gelicentieerd onder de MIT-licentie en gehost op GitHub. Bugrapporten en pull‑requests zijn welkom.