Introduction

Aspose.Slides FOSS for C++ (aspose_slides_foss) является свободным, MIT-лицензированный библиотека для создания и редактирования PowerPoint .pptx Файлы на C++. Он работает на Windows, macOS и Linux без зависимости от Microsoft Office.

В этой статье рассматриваются основные особенности, доступные в текущем издании.


Основные особенности

Презентация Загрузка и сохранение

Presentation является корневым объектом. Создать его без аргументов для создания нового файла или передать путь файла для загрузки существующего. save() с трассой и SaveFormat чтобы записать выход:

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

Управление слайдами

В связи с этим slides() метод возвращает слайд-коллекцию. Добавить слайда с add_empty_slide(), убрать их с помощью: remove(), и доступ к существующим слайдам по индексу:

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

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

Вставка автоформы и текст

Добавить формы с помощью slide.shapes().add_auto_shape().Доступ к текстовой рамке через: shape.text_frame() для настройки текстового содержания:

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

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

Твердые наполнения

Apply FillType::SOLID с цветом ARGB любой формы:

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

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

Визуальные эффекты

Применять внешние тени, свечение и эффект мягких краев через 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>

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

Быстрый старт .

Добавить библиотеку через CMake (требуется компилятор 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;
}

Поддерживаемые форматы

FormatExtensionReadWrite
PPTX.pptx

Открытый исходный код и лицензирование

Aspose.Slides FOSS for C++ is released under the MIT License. Build from source via Коммерческое использование, перераспределение и модификация разрешены.


Начинать

Связанные ресурсы