Aspose.Slides FOSS for C++ er et MIT-licenseret bibliotek til at arbejde med PowerPoint .pptx-filer. Integrer det via CMake FetchContent og begynd straks at oprette, læse og redigere præsentationer uden at installere Microsoft Office eller nogen proprietær runtime.
Biblioteket eksponerer et Presentation API bygget omkring Presentation, Slide, ShapeCollection, TextFrame, Paragraph og Portion, den konceptuelle model, som PowerPoint selv bruger. Tilføj og fjern slides, indsæt AutoShapes, tabeller og forbindelser, formater tekst på tegnniveau med fed, kursiv, skriftstørrelse og farve, anvend solide eller gradientfyldninger, og tilføj visuelle effekter (skygge, glød, sløring, refleksion).
RAII-semantik sikrer pålidelig ressourceoprydning: den Presentation destruktor frigiver al intern tilstand automatisk. Ukendte XML dele, der mødes under indlæsning, bevares ordret ved lagring, så round-tripping aldrig ødelægger indhold, som biblioteket endnu ikke forstår. Biblioteket kræver en C++20-kompatibel compiler. For yderligere funktioner, se Aspose.Slides for C++ enterprise edition.
.pptx filer via Presentation() eller Presentation(path).SlideCollection med add_empty_slide(), remove(), og remove_at().ShapeType geometrier 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 manuel download eller systemomfattende installation er nødvendig. Biblioteket bygges fra kilde sammen med dit projekt.
API’en spejler PowerPoints egen objektmodel (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), så enhver, der er bekendt med PowerPoint-objektmodellen, kan bruge biblioteket med det samme. Den er MIT-licenseret, open source på GitHub og kræver en C++20-kompatibel compiler.
RAII sikrer, at Presentation destruktoren frigiver alle ressourcer automatisk, når objektet går ud af scope. add_auto_shape() tager en ShapeType enum, derefter x/y‑position og bredde/højde i point — shape’s text_frame giver adgang til at sætte tekstindhold.
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-niveau — den mindste enhed af en sekvens af tegn. Åbn den gemte fil, naviger til den første del af det første afsnit, og indstil skriftegenskaber direkte. Formfyldning er uafhængig: indstil fyldtypen til solid og tildel en farve.
#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-licenseret C++-bibliotek til at oprette, læse og redigere PowerPoint .pptx-præsentationer uden at kræve Microsoft Office.
.pptx er det understøttede læse/skriv-format. Eksport til PDF, HTML, SVG eller billeder er ikke tilgængelig i denne udgave.
Nej. Aspose.Slides FOSS er et selvstændigt C++-bibliotek uden afhængighed af Microsoft Office, COM-automatisering eller nogen proprietær runtime.
Brug CMake FetchContent til at integrere biblioteket direkte fra GitHub. Biblioteket kræver en C++20-kompatibel compiler.
Ja. Biblioteket understøtter ydre skygge, glød, sløring og refleksionseffekter på ethvert formobjekt via EffectFormat API’en.
Ja. Presentation-destruktoren frigiver al intern tilstand automatisk, så ingen eksplicit oprydning er nødvendig.
Nej. Ukendte XML-dele, der mødes under indlæsning, bevares ordret ved lagring, så indhold, som biblioteket endnu ikke forstår, aldrig går tabt.
Biblioteket er MIT-licenseret og hostet på GitHub. Fejlrapporter og pull requests er velkomne.