Aspose.Slides FOSS per a C++ és una biblioteca amb llicència MIT per treballar amb fitxers PowerPoint .pptx. Integra-la via CMake FetchContent i comença immediatament a crear, llegir i editar presentacions sense instal·lar Microsoft Office ni cap entorn d’execució propietari.
La biblioteca exposa una API de Presentació construïda al voltant de Presentation, Slide, ShapeCollection, TextFrame, Paragraph i Portion, el model conceptual utilitzat per PowerPoint mateix. Afegeix i elimina diapositives, insereix AutoShapes, Taules i Connectors, formata el text a nivell de caràcter amb negreta, cursiva, mida i color de la lletra, aplica emplenaments sòlids o degradats i afegeix efectes visuals (ombra, resplendor, difuminat, reflexió).
La semàntica RAII garanteix una neteja fiable dels recursos: el destructor de Presentation allibera tot l’estat intern automàticament. Les parts XML desconegudes trobades durant la càrrega es conserven literalment en desar, de manera que el round‑tripping mai destrueix contingut que la biblioteca encara no entén. La biblioteca requereix un compilador compatible amb C++17.
.pptx existents mitjançant Presentation() o Presentation(path).SlideCollection amb add_clone(), remove() i remove_at().ShapeType mitjançant add_auto_shape().add_connector().NotesSlideManager.get_slide_comments().Portion individuals mitjançant PortionFormat.FillFormat i FillType.EffectFormat.ParagraphFormat i set_alignment().Aspose.Slides FOSS s’integra via CMake FetchContent, de manera que no cal cap descàrrega manual ni instal·lació a nivell del sistema. La biblioteca es compila des del codi font juntament amb el teu projecte.
L’API reflecteix el model d’objectes propi de PowerPoint (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), de manera que qualsevol familiaritzat amb el model d’objectes de PowerPoint pot utilitzar la biblioteca immediatament. Té llicència MIT, és de codi obert a GitHub i requereix un compilador compatible amb C++17.
RAII garanteix que el destructor de Presentation allibereixi tots els recursos automàticament quan l’objecte surt del seu abast. add_auto_shape() rep un enumerat ShapeType, després la posició x/y i l’amplada/alçada en punts — el text_frame de la forma proporciona accés per establir el contingut del text.
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];
// Afegeix una AutoShape de rectangle
auto& shape = slide.shapes().add_auto_shape(
Aspose::Slides::Foss::ShapeType::RECTANGLE,
50, 50, 400, 150
);
shape.text_frame()->set_text("Hola, Aspose.Slides!");
prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
return 0;
}
El format del text funciona al nivell de Portion — la unitat més petita d’una seqüència de caràcters. Obre el fitxer desat, navega fins a la primera porció del primer paràgraf i estableix les propietats de la font directament. El farciment de la forma és independent: estableix el tipus de farciment a sòlid i assigna un color.
#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];
// Negreta, text de 18pt
portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
portion.portion_format().set_font_height(18);
// Ompliment de fons sòlid a la forma
shape.fill_format().set_fill_type(asf::FillType::SOLID);
prs.save("formatted.pptx", asf::SaveFormat::PPTX);
return 0;
}
És una biblioteca C++ gratuïta, amb llicència MIT, per crear, llegir i editar presentacions PowerPoint .pptx sense requerir Microsoft Office.
PPTX és el format de lectura/escriptura compatible. L’exportació a PDF, HTML, SVG o imatges no està disponible en aquesta edició.
No. Aspose.Slides FOSS és una biblioteca C++ independent sense cap dependència de Microsoft Office, automatització COM o cap entorn d’execució propietari.
Utilitzeu CMake FetchContent per integrar la biblioteca directament des de GitHub. La biblioteca requereix un compilador compatible amb C++17.
Sí. La biblioteca admet efectes d’ombra exterior, resplendor, difuminat i reflexió en qualsevol objecte de forma mitjançant l’API EffectFormat.
Sí. El destructor Presentation allibera tot l’estat intern automàticament, de manera que no cal cap neteja explícita.
No. Les parts XML desconegudes trobades durant la càrrega es conserven literalment en desar, de manera que el contingut que la biblioteca encara no entén mai no es perd.
La biblioteca té llicència MIT i està allotjada a GitHub. Es donen la benvinguda els informes d’errors i les sol·licituds d’integració.