Introducción

Aspose.Slides FOSS for C++ (aspose_slides_fossEs un libre, MIT-licenciado Librería para crear y editar PowerPoint .pptx en el nativo C++. se realiza en Windows, macOS y Linux sin dependencia de Microsoft Office.

Este artículo se extiende por las características clave disponibles en la versión actual.


Características clave

Presentación Carga y ahorro

Presentation es el objeto de raíz. Construye con ningún argumento para crear un nuevo archivo o pasar un camino de archivo para cargar uno existente. llamado save() con un camino y SaveFormat Para escribir la salida:

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

Gestión de Slide

El slides() El método devolve la colección de slides.Añadir slidas con add_empty_slide(), Removemos con remove(),y acceso a las imágenes existentes por índice:

#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 Inserción y texto

Añadir formas utilizando slide.shapes().add_auto_shape().Acceso al marco de texto a través del shape.text_frame() Para establecer contenido de texto:

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

Sólidos enchufes

Aplique FillType::SOLID Con un color ARGB a cualquier 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);

Efectos visuales

Aplique las sombras externas, el brillo y los efectos de la capa suave a través del 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);

Inicio rápido

Añade la biblioteca a través de CMake (requiere un compilador 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;
}

Formatos apoyados

FormatoExtensionesLeerEscribe
PPTX.pptx

Open Source y Licenciación

Aspose.Slides FOSS for C++ is released under the MIT License. Build from source via CMake. uso comercial, redistribución y modificación son todos permitidos.


Empezando a

Recursos relacionados