Aspose.Slides FOSS för C++ är ett MIT-licensierat bibliotek för att arbeta med PowerPoint .pptx-filer. Integrera det via CMake FetchContent och börja omedelbart skapa, läsa och redigera presentationer utan att installera Microsoft Office eller någon proprietär runtime.
Biblioteket exponerar ett Presentation‑API byggt kring Presentation, Slide, ShapeCollection, TextFrame, Paragraph och Portion, den konceptuella modell som PowerPoint själv använder. Lägg till och ta bort bilder, infoga AutoShapes, tabeller och anslutningar, formatera text på teckennivå med fet, kursiv, teckenstorlek och färg, applicera solida eller gradientfyllningar och lägg till visuella effekter (skugga, glöd, oskärpa, reflektion).
RAII-semantik säkerställer pålitlig resursrensning: Presentations destruktor frigör all intern status automatiskt. Okända XML-delar som påträffas under inläsning bevaras ordagrant vid sparning, så att rundresning aldrig förstör innehåll som biblioteket ännu inte förstår. Biblioteket kräver en C++20-kompatibel kompilator. För ytterligare funktioner, se Aspose.Slides for C++ enterprise edition.
.pptx-filer via Presentation() eller Presentation(path).SlideCollection med add_empty_slide(), remove() och remove_at().ShapeType geometrier via add_auto_shape().add_connector().NotesSlideManager.pres.comment_authors() och deras tillhörande kommentarer.Portion objekt via PortionFormat.FillFormat och FillType.EffectFormat.ParagraphFormat och set_alignment().Aspose.Slides FOSS integreras via CMake FetchContent, så ingen manuell nedladdning eller systemomfattande installation behövs. Biblioteket byggs från källkod tillsammans med ditt projekt.
API:et speglar PowerPoints egna objektmodell (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), så att alla som är bekanta med PowerPoint-objektmodellen kan använda biblioteket omedelbart. Det är MIT-licensierat, öppen källkod på GitHub, och kräver en C++20-kompatibel kompilator.
RAII säkerställer att Presentation destruktorn frigör alla resurser automatiskt när objektet går ur scope. add_auto_shape() tar en ShapeType enum, sedan x/y-position och bredd/höjd i punkter — shape’s text_frame ger åtkomst för att sätta textinnehåll.
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)
Textformatering fungerar på Portion-nivå — den minsta enheten av en sekvens av tecken. Öppna den sparade filen, navigera till den första delen av det första stycket och ställ in teckensnittsegenskaperna direkt. Formfyllning är oberoende: sätt fyllningstypen till solid och tilldela en färg.
#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 är ett fritt, MIT-licensierat C++-bibliotek för att skapa, läsa och redigera PowerPoint .pptx-presentationer utan att kräva Microsoft Office.
.pptx är det stödjade läs/skriv-formatet. Export till PDF, HTML, SVG eller bilder är inte tillgängligt i den här utgåvan.
Nej. Aspose.Slides FOSS är ett fristående C++-bibliotek utan beroende av Microsoft Office, COM-automatisering eller någon proprietär runtime.
Använd CMake FetchContent för att integrera biblioteket direkt från GitHub. Biblioteket kräver en C++20-kompatibel kompilator.
Ja. Biblioteket stöder yttre skugga, glöd, oskärpa och reflektionseffekter på alla formobjekt via EffectFormat API:t.
Ja. Presentation-destruktorn frigör all intern status automatiskt, så ingen explicit städning behövs.
Nej. Okända XML-delar som påträffas under inläsning bevaras ordagrant vid sparning, så innehåll som biblioteket ännu inte förstår går aldrig förlorat.
Biblioteket är licensierat under MIT och finns på GitHub. Felrapporter och pull‑requests är välkomna.