Preguntas frecuentes

Preguntas frecuentes

Preguntas frecuentes

¿Cómo puedo crear y conectar Aspose.Slides FOSS para C++?

Utilice CMake FetchContent para agregar la biblioteca a su proyecto.C++20 o más tarde es necesario.

cmake_minimum_required(VERSION 3.20)
project(my_app LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

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)

No se requiere Microsoft Office ni otro tiempo de funcionamiento del sistema.


¿Por qué debes usar RAII con Presentation?

El Presentation clase gestiona los recursos XML internos.Cuando el objeto sale de alcance, su destructor libera esos recursos. Presentation con new sin un indicador inteligente; utilizar la alocación de estaque o std::unique_ptr para asegurar la limpieza.

Siempre sigan este patrón:

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

int main() {
    Aspose::Slides::Foss::Presentation prs;
    // work here
    prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
    return 0;
}

¿Qué formatos de archivo puedo guardar?

El SaveFormat Enum define constantes para muchos formatos - PPTX, PDF, HTML, SVG, JPEG, PNG, y otros — para la compatibilidad de API con la edición comercial. en el tiempo real en esta edición FOSS, todos los save() las llamadas ignoran el argumento de formato y siempre escriben la salida PPTX. SaveFormat::PDF se compila correctamente, pero produce una .pptx El archivo, no el .pdf.

prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);

Las exportaciones a formatos no PPTX no están funcionalmente disponibles en esta edición. SaveFormat::PPTX para todos los operativos.


Puedo abrir .ppt (antigua PowerPoint 97-2003) archivos?

No. Sólo .pptx (Office Open XML) se apoyan los archivos. .ppt El formato binario no está gestionado por esta biblioteca.


¿Cómo puedo acceder a los slides?

Las imágenes son una colección basada en cero accesible a través de prs.slides():

auto& slides = prs.slides();
auto& first_slide = slides[0];
auto count = slides.size();

¿Cómo puedo añadir un segundo slide?

Uso prs.slides().add_empty_slide() Con un layout:

Aspose::Slides::Foss::Presentation prs;
auto& layout = prs.layout_slides()[0];
prs.slides().add_empty_slide(&layout);
auto& slide2 = prs.slides()[1];
prs.save("two-slides.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);

¿Cómo puedo definir el color de fondo del slide?

El color de fondo de la capa no está expuesto en la API actual. BaseSlide y Slide No tiene una background() Esta función no está disponible en esta edición de la biblioteca.


Cómo usamos NullableBool?

NullableBool es un enum de tres estados utilizado para el formato de propiedades. NullableBool::TRUE (No es C++) truePara las propiedades valientes, itales y similares:

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

fmt.set_font_bold(Aspose::Slides::Foss::NullableBool::TRUE);
fmt.set_font_italic(Aspose::Slides::Foss::NullableBool::FALSE);
// Note: set_font_underline() takes TextUnderlineType, not NullableBool:
// fmt.set_font_underline(Aspose::Slides::Foss::TextUnderlineType::NONE);

¿Por qué el color del texto no tiene efecto?

También debe establecer fill_type para SOLID Antes de que se asigna el color:

fmt.fill_format().set_fill_type(Aspose::Slides::Foss::FillType::SOLID);
fmt.fill_format().solid_fill_color().set_color(
    Aspose::Slides::Foss::Color::from_argb(255, 200, 0, 0));

¿Puedo usar gráficos o SmartArt?

No. Los gráficos, SmartArt, objetos OLE, animaciones, transiciones y hiperenlaces, macros VBA y firmas digitales no se implementan en esta edición.


¿Es esta biblioteca segura?

Cada uno Presentation El objeto es independiente. Crear y utilizar separadamente Presentation Las instantes de las filas separadas son seguras siempre que no comparta un solo Presentation Objetos a través de las filas sin bloqueo externo.


¿Cómo puedo incorporar una imagen?

Lea los bajos de la imagen y añadelos a prs.images(),Entonces, crea a PictureFrame:

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

std::ifstream file("logo.png", std::ios::binary);
std::vector<uint8_t> data((std::istreambuf_iterator<char>(file)),
                           std::istreambuf_iterator<char>());
auto& image = prs.images().add_image(data);
slide.shapes().add_picture_frame(
    Aspose::Slides::Foss::ShapeType::RECTANGLE, 50, 50, 200, 150, image);

Ver también

 Español