1. Productos
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for C++

Aspose.Slides FOSS for C++

Cree, lea y edite presentaciones de PowerPoint desde C++ — gratuito y de código abierto, sin dependencia de Office.

Librería C++ de código abierto para presentaciones PowerPoint

Aspose.Slides FOSS for C++ es una biblioteca con licencia MIT para trabajar con archivos .pptx de PowerPoint. Integrala mediante CMake FetchContent y comienza inmediatamente a crear, leer y editar presentaciones sin instalar Microsoft Office ni ningún runtime propietario.

La biblioteca expone un API de Presentación construido alrededor de Presentation, Slide, ShapeCollection, TextFrame, Paragraph y Portion, el modelo conceptual que usa PowerPoint mismo. Añade y elimina diapositivas, inserta AutoShapes, Tablas y Conectores, formatea texto a nivel de carácter con negrita, cursiva, tamaño y color de fuente, aplica rellenos sólidos o degradados, y agrega efectos visuales (sombra, resplandor, desenfoque, reflejo).

La semántica RAII garantiza una limpieza fiable de recursos: el destructor Presentation libera todo el estado interno automáticamente. Las partes XML desconocidas encontradas durante la carga se conservan literalmente al guardar, de modo que el round‑tripping nunca destruye contenido que la biblioteca aún no comprende. La biblioteca requiere un compilador compatible con C++20. Para funciones adicionales, consulta Aspose.Slides for C++ enterprise edition.

Presentación y Slide API

  • Crear y abrir PPTX: Crear nuevas presentaciones o abrir archivos .pptx existentes a través de Presentation() o Presentation(path).
  • Agregar y eliminar diapositivas: Administrar programáticamente el SlideCollection con add_empty_slide(), remove() y remove_at().
  • AutoShapes: Insertar rectángulos, elipses, líneas y otras geometrías ShapeType a través de add_auto_shape().
  • Tablas y Conectores: Añadir formas de tabla estructuradas y líneas de conexión entre formas mediante add_connector().
  • Notas del orador: Leer y escribir notas del orador por diapositiva a través de NotesSlideManager.
  • Comentarios en hilos: Acceder a los hilos de comentarios iterando pres.comment_authors() y sus comentarios asociados.

Dónde Aspose.Slides FOSS Puede Usarse

  • Generador de informes: Construye placas de slide con marca desde fuentes de datos sin Office.
  • Automización de los templados: Rellene los modelos PPTX con contenido dinámico en las tuberías CI/CD.
  • Migración de contenido: Leer las presentaciones existentes y los rastros de reestructuración o reestilo.
  • Sistemas incorporados: Procesar archivos PPTX en ambientes críticos de rendimiento o con limitaciones de recursos.
  • Tratamiento de batch: Aplique cambios uniformes en la formatación a través de grandes bibliotecas de disco.

Formato de texto y efectos visuales

  • Formato a nivel de carácter: Aplicar negrita, cursiva, tamaño de fuente y color a objetos Portion individuales mediante PortionFormat.
  • Rellenos sólidos y degradados: Establecer el relleno de la forma a un color sólido o un degradado lineal de varios puntos usando FillFormat y FillType.
  • Efectos de sombra y resplandor: Aplicar sombra externa, resplandor, desenfoque y reflexión a cualquier forma mediante EffectFormat.
  • Alineación de párrafo: Establecer alineación izquierda, centrada, derecha o justificada por párrafo usando ParagraphFormat y set_alignment().
  • Seguridad de ida y vuelta: Las partes desconocidas de XML se conservan literalmente al volver a guardar.

Experiencia de desarrollador

Aspose.Slides FOSS se integra a través de CMake FetchContent, por lo que no se necesita descarga manual ni instalación a nivel del sistema. La biblioteca se compila desde el código fuente junto a su proyecto.

El API replica el modelo de objetos propio de PowerPoint (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), por lo que cualquier persona familiarizada con el modelo de objetos de PowerPoint puede usar la biblioteca de inmediato. Tiene licencia MIT, es de código abierto en GitHub y requiere un compilador compatible con C++20.

Crea una presentación y añade una forma

RAII asegura que el destructor Presentation libera todos los recursos automáticamente cuando el objeto sale de alcance. add_auto_shape() toma un enum ShapeType, luego x/y posición y ancho/alza en puntos - la forma text_frame proporciona acceso a la configuración del contenido de texto.

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

int main() ```cmake
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)

Formatar texto y aplicar un efecto de cumplimiento

El formato de texto funciona en el nivel Portion — la unidad más pequeña de una ronda de caracteres. abre el archivo guardado, navega por la primera parte del primer párrafo y establece propiedades de font directamente.

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

namespace asf = Aspose::Slides::Foss;

int main() ```cpp
#include <Aspose/Slides/Foss/presentation.h>

namespace asf = Aspose::Slides::Foss;

int main() {
    asf::Presentation prs("output.pptx");
    auto& shape = prs.slides()[0].shapes()[0];
    auto& portion = shape.text_frame()
        ->paragraphs()[0].portions()[0];

    // Bold, 18pt text
    portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
    portion.portion_format().set_font_height(18);

    // Solid background fill on the shape
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

    prs.save("formatted.pptx", asf::SaveFormat::PPTX);
    return 0;
}

Preguntas frecuentes

¿Qué es Aspose.Slides FOSS para C++?

Es una biblioteca C++ gratuita, con licencia MIT, para crear, leer y editar presentaciones de PowerPoint .pptx sin requerir Microsoft Office.

¿Qué formatos de archivo se apoyan?

.pptx es el formato de lectura/escritura que se apoya.Exportación a PDF, HTML, SVG o imágenes no está disponible en esta edición.

¿Es necesario Microsoft Office o PowerPoint?

No. Aspose.Slides FOSS es una biblioteca C++ independiente sin dependencia de Microsoft Office, COM automation, o cualquier runtime propietario.

¿Cómo lo instalaré?

Utilice CMake FetchContent para integrar la biblioteca directamente desde GitHub. La biblioteca requiere un compiler de conformidad con C++20.

¿Puedo aplicar efectos visuales como sombra y luz?

La biblioteca soporta efectos de sombra, brillo, azul y reflejo externos en cualquier objeto de forma a través de la API EffectFormat.

¿La biblioteca utiliza RAII para la gestión de recursos?

El destructor Presentation libera todos los estados internos automáticamente, por lo que no se necesita limpieza explícita.

¿Un PPTX destruirá contenido desconocido?

No. Las partes XML desconocidas que se encuentran durante el cargamento están conservadas en verbatim, por lo que el contenido que la biblioteca no entiende aún nunca es perdido.

¿Dónde puedo encontrar el código fuente?

La biblioteca está licenciada por MIT y se alojará en GitHub. los informes de bugs y las solicitudes de pilación son bienvenidos.

  

Recursos de soporte y aprendizaje

 Español