Inleiding

Aspose.Slides FOSS voor C++ (aspose_slides_foss) is een gratis, MIT-gelicentieerde bibliotheek voor het maken en bewerken van PowerPoint .pptx bestanden in native C++. Het draait op Windows, macOS en Linux zonder afhankelijkheid van Microsoft Office.

Dit artikel loopt door de belangrijkste kenmerken die beschikbaar zijn in de huidige release.


Belangrijkste kenmerken

Presentatie laden en opslaan

Presentation is het root-object. Maak het zonder argumenten aan om een nieuw bestand te creëren of geef een bestandspad door om een bestaand bestand te laden. Roep save() aan met een pad en SaveFormat om de uitvoer te schrijven:

#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);

Dia-beheer

De slides() methode retourneert de slidecollectie. Voeg slides toe met add_empty_slide(), verwijder ze met remove(), en krijg toegang tot bestaande slides via index:

#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 Invoegen en Tekst

Voeg vormen toe met slide.shapes().add_auto_shape(). Toegang tot het tekstvak via shape.text_frame() om de tekstinhoud in te stellen:

#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);

Vaste Opvullingen

Pas FillType::SOLID toe met een ARGB-kleur op elke vorm:

#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);

Visuele Effecten

Pas buitenste schaduwen, gloed en zachte rand-effecten toe via 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);

Snelstart

Voeg de bibliotheek toe via CMake (C++20-compiler vereist):

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;
}

Ondersteunde formaten

FormaatExtensieLezenSchrijven
PPTX.pptx—✓

Open source & licenties

Aspose.Slides FOSS for C++ wordt uitgebracht onder de MIT-licentie. Bouw vanaf de bron via CMake. Commercieel gebruik, herdistributie en wijziging zijn allemaal toegestaan.


Aan de slag

Gerelateerde bronnen