Aspose.Slides FOSS pentru C++ este o bibliotecă licențiată MIT pentru lucrul cu fișiere PowerPoint .pptx. Integrați-o prin CMake FetchContent și începeți imediat să creați, citiți și editați prezentări fără a instala Microsoft Office sau orice runtime proprietar.
Biblioteca expune un API de prezentare construit în jurul lui Presentation, Slide, ShapeCollection, TextFrame, Paragraph și Portion, modelul conceptual utilizat de PowerPoint. Adăugați și eliminați diapozitive, inserați AutoShapes, Tabele și Conectori, formatați textul la nivel de caracter cu îngroșare, cursiv, dimensiune și culoare a fontului, aplicați umpleri solide sau degrade, și adăugați efecte vizuale (umbră, strălucire, estompare, reflexie).
Semantica RAII asigură curățarea fiabilă a resurselor: destructorul Presentation eliberează automat tot starea internă. Părțile XML necunoscute întâlnite în timpul încărcării sunt păstrate literalmente la salvare, astfel încât round‑trippingul nu distruge niciodată conținutul pe care biblioteca încă nu îl înțelege. Biblioteca necesită un compilator compatibil cu C++17.
.pptx existente prin Presentation() sau Presentation(path).SlideCollection cu add_clone(), remove() și remove_at().ShapeType prin add_auto_shape().add_connector().NotesSlideManager.get_slide_comments().Portion individuale prin PortionFormat.FillFormat și FillType.EffectFormat.ParagraphFormat și set_alignment().Aspose.Slides FOSS se integrează prin CMake FetchContent, astfel încât nu este necesar să descarci manual sau să instalezi la nivel de sistem. Biblioteca se compilează din sursă alături de proiectul tău.
API-ul reflectă modelul de obiecte al PowerPoint (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), astfel încât oricine este familiar cu modelul de obiecte PowerPoint poate folosi biblioteca imediat. Este licențiată sub MIT, open‑source pe GitHub și necesită un compilator compatibil C++17.
RAII asigură că destructorul Presentation eliberează toate resursele automat când obiectul iese din domeniu. Funcția add_auto_shape() primește un enum ShapeType, apoi poziția x/y și lățimea/înălțimea în puncte — text_frame al formei oferă acces pentru a seta conținutul textului.
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];
// Adaugă o formă automată dreptunghi
auto& shape = slide.shapes().add_auto_shape(
Aspose::Slides::Foss::ShapeType::RECTANGLE,
50, 50, 400, 150
);
shape.text_frame()->set_text("Salut, Aspose.Slides!");
prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
return 0;
}
Formatarea textului funcționează la nivelul Portion — cea mai mică unitate a unui șir de caractere. Deschide fișierul salvat, navighează la prima porțiune a primului paragraf și setează proprietățile fontului direct. Umplerea formei este independentă: setează tipul de umplere la solid și atribuie o culoare.
#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;
}
Este o bibliotecă C++ gratuită, licențiată sub MIT, pentru crearea, citirea și editarea prezentărilor PowerPoint .pptx fără a necesita Microsoft Office.
PPTX este formatul suportat pentru citire/scriere. Exportul în PDF, HTML, SVG sau imagini nu este disponibil în această ediție.
Nu. Aspose.Slides FOSS este o bibliotecă C++ independentă, fără dependență de Microsoft Office, automatizare COM sau orice runtime proprietar.
Folosiți CMake FetchContent pentru a integra biblioteca direct de pe GitHub. Biblioteca necesită un compilator compatibil cu C++17.
Da. Biblioteca suportă efectele de umbră exterioară, strălucire, estompare și reflexie pe orice obiect de tip formă prin API-ul EffectFormat.
Da. Destructorul Presentation eliberează automat toate stările interne, astfel că nu este necesară o curățare explicită.
Nu. Părțile XML necunoscute întâlnite în timpul încărcării sunt păstrate literalmente la salvare, astfel că conținutul pe care biblioteca încă nu îl înțelege nu se pierde niciodată.
Biblioteca este licențiată MIT și găzduită pe GitHub. Raportările de erori și cererile de pull sunt binevenite.