Aspose.Slides FOSS for C++ er et MIT-lisensiert bibliotek for å jobbe med PowerPoint .pptx-filer. Integrer det via CMake FetchContent og begynn umiddelbart å lage, lese og redigere presentasjoner uten å installere Microsoft Office eller noen proprietær kjøretidsmiljø.
Biblioteket eksponerer et Presentation‑API bygget rundt Presentation, Slide, ShapeCollection, TextFrame, Paragraph og Portion, den konseptuelle modellen som PowerPoint selv bruker. Legg til og fjern lysbilder, sett inn AutoShapes, Tables og Connectors, formater tekst på tegnnivå med fet, kursiv, skriftstørrelse og farge, bruk solide eller gradientfylle, og legg til visuelle effekter (skygge, glød, uskarphet, refleksjon).
RAII-semantikk sikrer pålitelig ressursopprydding: Presentation-destruktøren frigjør all intern tilstand automatisk. Ukjente XML-deler som oppdages under lasting, blir bevart ordrett ved lagring, så round-tripping aldri ødelegger innhold som biblioteket ennå ikke forstår. Biblioteket krever en C++20-kompatibel kompilator. For ekstra funksjoner, se Aspose.Slides for C++ enterprise edition.
.pptx-filer via Presentation() eller Presentation(path).SlideCollection med add_empty_slide(), remove() og remove_at().ShapeType geometriske former via add_auto_shape().add_connector().NotesSlideManager.pres.comment_authors() og deres tilknyttede kommentarer.Portion objekter via PortionFormat.FillFormat og FillType.EffectFormat.ParagraphFormat og set_alignment().Aspose.Slides FOSS integreres via CMake FetchContent, så ingen manuell nedlasting eller systemomfattende installasjon er nødvendig. Biblioteket bygges fra kilde sammen med prosjektet ditt.
API-et speiler PowerPoints egen objektmodell (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), så alle som er kjent med PowerPoint-objektmodellen kan bruke biblioteket umiddelbart. Det er MIT-lisensiert, åpen kilde på GitHub, og krever en C++20‑kompatibel kompilator.
RAII sikrer at Presentation-destruktøren frigjør alle ressurser automatisk når objektet går ut av omfanget. add_auto_shape() tar en ShapeType enum, deretter x/y‑posisjon og bredde/høyde i punkter — shape’s text_frame gir tilgang til å sette tekstinnhold.
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)
Tekstformatering fungerer på Portion-nivå — den minste enheten i en sekvens av tegn. Åpne den lagrede filen, naviger til den første delen av det første avsnittet, og sett skriftegenskaper direkte. Formfyll er uavhengig: sett fylltypen til solid og tilordne en farge.
#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;
}
Det er et gratis, MIT-lisensiert C++-bibliotek for å lage, lese og redigere PowerPoint .pptx-presentasjoner uten å kreve Microsoft Office.
.pptx er det støttede lese-/skrivformatet. Eksport til PDF, HTML, SVG eller bilder er ikke tilgjengelig i denne utgaven.
Nei. Aspose.Slides FOSS er et frittstående C++-bibliotek uten avhengighet til Microsoft Office, COM-automatisering eller noen proprietær kjøretidsmiljø.
Bruk CMake FetchContent for å integrere biblioteket direkte fra GitHub. Biblioteket krever en C++20-kompatibel kompilator.
Ja. Biblioteket støtter ytre skygge, glød, uskarphet og refleksjonseffekter på ethvert formobjekt via EffectFormat API.
Ja. Presentation-destruktøren frigjør all intern tilstand automatisk, så ingen eksplisitt opprydding er nødvendig.
Nei. Ukjente XML-deler som blir møtt under lasting, blir bevart ordrett ved lagring, så innhold som biblioteket ennå ikke forstår, går aldri tapt.
Biblioteket er lisensiert under MIT og er vert på GitHub. Feilrapporter og pull‑requests er velkomne.