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
| Formato | Extensiones | Leer | Escribe |
|---|---|---|---|
| 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.