Introduzione

Aspose.Slides FOSS per C++ (aspose_slides_foss) è una libreria gratuita, con licenza MIT, per creare e modificare file PowerPoint .pptx in C++ nativo. Funziona su Windows, macOS e Linux senza dipendenza da Microsoft Office.

Questo articolo illustra le caratteristiche principali disponibili nell’attuale versione.


Caratteristiche principali

Caricamento e salvataggio della presentazione

Presentation è l’oggetto radice. Costruiscilo senza argomenti per creare un nuovo file o passa un percorso file per caricarne uno esistente. Chiama save() con un percorso e SaveFormat per scrivere l’output:

#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/export/save_format.h>

using namespace Aspose::Slides::Foss;

// Create new
Presentation prs;
prs.save("output.pptx", SaveFormat::PPTX);

// Load and save
Presentation prs2("existing.pptx");
prs2.save("copy.pptx", SaveFormat::PPTX);

Gestione delle diapositive

Il metodo slides() restituisce la collezione di diapositive. Aggiungi diapositive con add_empty_slide(), rimuovile con remove() e accedi alle diapositive esistenti per indice:

#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/slide_collection.h>
#include <Aspose/Slides/Foss/export/save_format.h>

using namespace Aspose::Slides::Foss;

Presentation prs;
auto& slide = prs.slides()[0];   // First slide (created automatically)

// Add a second slide using the first master/layout
auto& layout = prs.masters()[0].layout_slides()[0];
auto& newSlide = prs.slides().add_empty_slide(layout);
prs.save("two_slides.pptx", SaveFormat::PPTX);

AutoShape Inserimento e Testo

Aggiungi forme usando slide.shapes().add_auto_shape(). Accedi al riquadro di testo tramite shape.text_frame() per impostare il contenuto del testo:

#include <Aspose/Slides/Foss/auto_shape.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>
#include <Aspose/Slides/Foss/export/save_format.h>

using namespace Aspose::Slides::Foss;

Presentation prs;
auto& slide = prs.slides()[0];
auto& shape = slide.shapes().add_auto_shape(
    ShapeType::RECTANGLE, 50, 50, 300, 100
);
shape.text_frame()->set_text("Hello from Aspose.Slides FOSS");
prs.save("shape_demo.pptx", SaveFormat::PPTX);

Riempimenti solidi

Applica FillType::SOLID con un colore ARGB a qualsiasi forma:

#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/fill_format.h>
#include <Aspose/Slides/Foss/fill_type.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/export/save_format.h>

using namespace Aspose::Slides::Foss;

Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
    ShapeType::RECTANGLE, 100, 100, 400, 200
);
shape.fill_format().set_fill_type(FillType::SOLID);
shape.fill_format().solid_fill_color().set_color(0xFF, 0x46, 0x82, 0xB4);
prs.save("solid_fill.pptx", SaveFormat::PPTX);

Effetti visivi

Applica ombre esterne, bagliore e effetti di bordo morbido tramite shape.effect_format():

#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/effect_format.h>
#include <Aspose/Slides/Foss/fill_type.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/export/save_format.h>

using namespace Aspose::Slides::Foss;

Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
    ShapeType::RECTANGLE, 100, 100, 300, 150
);
auto& ef = shape.effect_format();
ef.enable_outer_shadow_effect();
ef.outer_shadow_effect().set_blur_radius(8);
ef.outer_shadow_effect().set_distance(6);
ef.outer_shadow_effect().set_direction(45);
prs.save("shadow.pptx", SaveFormat::PPTX);

Avvio rapido

Aggiungi la libreria tramite CMake (richiesto compilatore C++20):

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)
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/text_frame.h>
#include <Aspose/Slides/Foss/export/save_format.h>

int main() {
    using namespace Aspose::Slides::Foss;

    Presentation prs;
    auto& shape = prs.slides()[0].shapes().add_auto_shape(
        ShapeType::RECTANGLE, 50, 50, 400, 150
    );
    shape.text_frame()->set_text("My first slide");
    prs.save("first.pptx", SaveFormat::PPTX);
    return 0;
}

Formati supportati

FormatoEstensioneLeggiScrivi
PPTX.pptx—✓

Open Source e licenze

Aspose.Slides FOSS per C++ è rilasciato sotto la Licenza MIT. Compila dal sorgente tramite CMake. L’uso commerciale, la ridistribuzione e la modifica sono tutti consentiti.


Guida introduttiva

Risorse correlate