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‑semantiken säkerställer pålitlig resurshantering: Presentation‑destruktorn frigör all intern status automatiskt. Okända XML‑delar som påträffas under inläsning bevaras ordagrant vid sparning, så att round‑tripping aldrig förstör innehåll som biblioteket ännu inte förstår. Biblioteket kräver en C++17‑kompatibel kompilator.
.pptx‑filer via Presentation() eller Presentation(path).SlideCollection med add_clone(), remove() och remove_at().ShapeType‑geometrier via add_auto_shape().add_connector().NotesSlideManager.get_slide_comments().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 eget objektmodell (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), så 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++17-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:ns 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];
// Lägg till en rektangel AutoShape
auto& shape = slide.shapes().add_auto_shape(
Aspose::Slides::Foss::ShapeType::RECTANGLE,
50, 50, 400, 150
);
shape.text_frame()->set_text("Hej, Aspose.Slides!");
prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
return 0;
}
Textformatering fungerar på Portion-nivå — den minsta enheten i en sekvens av tecken. Öppna den sparade filen, navigera till den första portionen i 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];
// Fet, 18pt text
portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
portion.portion_format().set_font_height(18);
// Solid bakgrundsfyllning på formen
shape.fill_format().set_fill_type(asf::FillType::SOLID);
prs.save("formatted.pptx", asf::SaveFormat::PPTX);
return 0;
}
Det är ett gratis, 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++17-kompatibel kompilator.
Ja. Biblioteket stöder yttre skugga, glöd, oskärpa och reflektionseffekter på alla formobjekt via EffectFormat API.
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 MIT-licensierat och finns på GitHub. Felrapporter och pull‑requests är välkomna.