Introducció
Aspose.Slides FOSS for C++ is now available: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx fitxers en C++ nadiu, sense cap dependència de Microsoft Office ni cap entorn d’execució propietari.
La biblioteca està dissenyada per a desenvolupadors que necessiten generar o manipular fitxers de presentació de manera programàtica: automatitzar conjunts de diapositives a partir de dades, extreure text i metadades de fitxers PPTX pujats, construir canals de reportatge basats en presentacions, o incrustar la creació de presentacions en aplicacions d’escriptori i de servidor. Perquè aspose_slides_foss està construïda amb CMake, compila i es desplega a Windows, macOS i Linux.
Funcionalitats clau
- Suport complet de PPTX d’anada i tornada: Obre qualsevol
.pptxfitxer, modifica’n el contingut i desa’l de nou sense perdre les parts XML desconegudes que la biblioteca encara no entén. - Gestió de diapositives: Afegeix, elimina i itera diapositives utilitzant
prs.slides(); la presentació comença amb una diapositiva en blanc després de construir unaPresentation. - AutoShapes, Taules i Connectors: Insereix formes via
slide.shapes().add_auto_shape(), dades tabulars viaslide.shapes().add_table(), i connectors visuals entre formes viaslide.shapes().add_connector(). - Format de text enriquit: Formata el text a nivell de caràcter amb
PortionFormat: mida de la lletra, negreta, cursiva, subratllat i color ARGB viaFillType::SOLIDiColorFormat. - Tipus d’emplenament: Aplica
FillType::SOLID,Gradient,Pattern, oPictureemplenaments a qualsevol forma. - Efectes visuals: Ombra exterior, resplendor, vora suau, difuminat, reflexió i ombra interior via
shape.effect_format(). - 3D formatting: Bisel, càmera, equip de llum, material i profunditat d’extrusió via
shape.three_d_format(). - : Notes del presentador: Adjunta el text de les notes a cada diapositiva via
notes_slide_manager().add_notes_slide(). - : Comentaris en fil: Afegeix comentaris amb metadades d’autor i posició de la diapositiva.
- : Imatges incrustades: Incrusta des d’una ruta de fitxer, memòria intermèdia o flux.
- : Propietats del document: Llegeix i escriu propietats principals, d’aplicació i personalitzades.
Començar
Afegeix la biblioteca mitjançant CMake. Es requereix un compilador C++17.
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)
target_link_libraries(your_target PRIVATE aspose_slides_foss)
Crea la teva primera presentació amb una forma i salva-la:
#include <Aspose/Slides/Foss/presentation.h>
int main() {
using namespace Aspose::Slides::Foss;
Presentation prs;
auto& slide = prs.slides()[0];
auto& shape = slide.shapes().add_auto_shape(
ShapeType::RECTANGLE, 50, 50, 400, 120
);
shape.text_frame()->set_text("Hello from Aspose.Slides FOSS!");
prs.save("hello.pptx", SaveFormat::PPTX);
return 0;
}
: El Presentation El destructor allibera tots els recursos interns automàticament quan surt del seu àmbit.
Formatar l’exemple
#include <Aspose/Slides/Foss/presentation.h>
using namespace Aspose::Slides::Foss;
Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
ShapeType::RECTANGLE, 50, 50, 500, 150
);
shape.text_frame()->set_text("Bold heading in corporate blue");
auto& fmt = shape.text_frame()->paragraphs()[0].portions()[0].portion_format();
fmt.set_font_height(28);
fmt.set_font_bold(NullableBool::TRUE);
fmt.fill_format().set_fill_type(FillType::SOLID);
fmt.fill_format().solid_fill_color().set_color(Color::from_argb(255, 0, 70, 127));
prs.save("formatted.pptx", SaveFormat::PPTX);
Les limitacions actuals
Les àrees següents llencen excepcions en aquesta versió:
- Els gràfics, SmartArt i els objectes OLE
- Animacions i transaccions de la imatge
- Exportació a PDF, HTML, SVG o formats d’imatge
- Hiperlincs, configuracions d’acció, macros VBA i signatures digitals
Les parts XML desconegudes trobades durant la càrrega es conserven en verbatim, de manera que els arxius PPTX produïts per altres eines giren de forma segura.