Cómo comenzar con Aspose.Slides FOSS para C++

Cómo comenzar con Aspose.Slides FOSS para C++

aspose_slides_foss para C++ es una biblioteca gratuita, licenciada por MIT para crear y editar PowerPoint .pptx archivos — no Microsoft Office requerido, construido con CMake.

Guía paso a paso

Paso 1: Añadir la biblioteca a través de CMake

añadir aspose_slides_foss Para tu CMakeLists.txt (C++20 compiler requerido):

cmake_minimum_required(VERSION 3.20)
project(MyProject)

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)

add_executable(my_app main.cpp)
target_link_libraries(my_app PRIVATE aspose_slides_foss)

Paso 2: Incluir los cabezas necesarios

Incluye los header para las clases que necesitas:

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

Paso 3: Crea una presentación

Construye a Presentation Para empezar con una hoja blanca, entonces guardarla:

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

using namespace Aspose::Slides::Foss;

int main() {
    Presentation prs;
    prs.save("new_presentation.pptx", SaveFormat::PPTX);
    return 0;
}

Paso 4: Agregar una forma con texto

Uso slide.shapes().add_auto_shape() para insertar un rectángulo, luego llamar text_frame()->set_text() Para añadir 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;

int main() {
    Presentation prs;
    auto& slide = prs.slides()[0];
    auto& shape = slide.shapes().add_auto_shape(
        ShapeType::RECTANGLE, 50, 50, 400, 150
    );
    shape.text_frame()->set_text("Hello from Aspose.Slides FOSS!");
    prs.save("with_shape.pptx", SaveFormat::PPTX);
    return 0;
}

Paso 5: Aplique un lleno y ahorra

Póngase un color de lleno sólido en la forma antes de ahorrar:

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

int main() {
    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);
    shape.text_frame()->set_text("Styled shape");
    prs.save("styled.pptx", SaveFormat::PPTX);
    return 0;
}

Problemas y soluciones comunes

Errores de la línea con referencias indefinidas Seguridad target_link_libraries(your_target PRIVATE aspose_slides_foss) Está en tu CMakeLists.txt La biblioteca fue construida con éxito por medio de FetchContent.

El archivo de la cabeza no se encuentra incluye el camino completo que comienza con <Aspose/Slides/Foss/...>.Corrida cmake --build de la catedral, no del catálogo.

UnsupportedOperationException Ecuador para las características no apoyadas Algunas características (chaps, animaciones, exportación de PDF) no están apoyadas. ver el proyecto Documentación de la lista actual de limitaciones.

Crash cuando accede a las imágenes por índice El defecto Presentation siempre crea una slide en el índice 0. si cargó un vacío archivo o eliminar todos los slides, prs.slides()[0] estará fuera de la gama.

Preguntas frecuentes

¿Aspose_slides_foss requiere Microsoft Office?

La biblioteca crea y lee .pptx archivos nativos en C++ sin dependencia Microsoft Office, COM automation o Windows APIs.

¿Qué compiladores y estándares C++ están apoyados?

La biblioteca requiere C++20 o más tarde. se prueba con GCC 11+, Clang 13+ y MSVC 2022.

¿La biblioteca es libre para uso comercial?

Se publica bajo la Licencia MIT. Puede utilizar, modificar y redistribuirlo para cualquier propósito, incluidas las aplicaciones comerciales.

¿Puedo cargar un archivo PPTX existente?

Si. pasar el camino de archivo a la Presentation El constructor:

Presentation prs("existing.pptx");
prs.save("copy.pptx", SaveFormat::PPTX);

¿Cómo puedo añadir múltiples slides?

Uso prs.slides().add_empty_slide(layout) Después de obtener un layout de prs.masters()[0].layout_slides()[0].

Ver también

 Español