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 .pptx fitxer, 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 una Presentation.
  • AutoShapes, Taules i Connectors: Insereix formes via slide.shapes().add_auto_shape(), dades tabulars via slide.shapes().add_table(), i connectors visuals entre formes via slide.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 via FillType::SOLID i ColorFormat.
  • Tipus d’emplenament: Aplica FillType::SOLID, Gradient, Pattern, o Picture emplenaments 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.

Vegeu també