1. Продукти
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for C++

Aspose.Slides FOSS за C++

Създавайте, четете и редактирайте PowerPoint презентации от C++ — безплатно и с отворен код, без зависимост от Office.

Отворена C++ библиотека за PowerPoint презентации

Aspose.Slides FOSS за C++ е библиотека с лиценз MIT за работа с PowerPoint .pptx файлове. Интегрирайте я чрез CMake FetchContent и веднага започнете да създавате, четете и редактирате презентации без да инсталирате Microsoft Office или какъвто и да е собственически runtime.

Библиотеката предоставя Presentation API, построен около Presentation, Slide, ShapeCollection, TextFrame, Paragraph и Portion – концептуалния модел, използван от самия PowerPoint. Добавяйте и премахвайте слайдове, вмъквайте AutoShapes, таблици и конектори, форматирайте текста на ниво символ с удебеляване, курсив, размер на шрифта и цвят, прилагайте плътни или градиентни запълнения и добавяйте визуални ефекти (сянка, светлина, размазване, отражение).

RAII семантиката осигурява надеждно почистване на ресурсите: деструкторът на Presentation освобождава цялото вътрешно състояние автоматично. Неизвестните XML части, срещнати при зареждане, се запазват дословно при запазване, така че обратното преобразуване никога не унищожава съдържание, което библиотеката все още не разбира. Библиотеката изисква компилатор, съвместим с C++17.

API за презентации и слайдове

  • Създаване и отваряне на PPTX: Създавайте нови презентации или отваряйте съществуващи .pptx файлове чрез Presentation() или Presentation(path).
  • Добавяне и премахване на слайдове: Програмирано управлявайте SlideCollection с add_clone(), remove() и remove_at().
  • AutoShapes: Вмъквайте правоъгълници, елипси, линии и други геометрии от тип ShapeType чрез add_auto_shape().
  • Таблици и конектори: Добавяйте структурираните таблици и линии-конектори между форми чрез add_connector().
  • Бележки за говорителя: Четете и записвайте бележки за говорителя за всеки слайд чрез NotesSlideManager.
  • Нишкови коментари: Достъпвайте коментари на ниво слайд чрез get_slide_comments().

Къде може да се използва Aspose.Slides FOSS

  • Генериране на отчети: Създавайте брандирани набори от слайдове от източници на данни без Office.
  • Автоматизация на шаблони: Попълвайте PPTX шаблони с динамично съдържание в CI/CD конвейери.
  • Миграция на съдържание: Прочетете съществуващите презентации и преработете или пренаредете слайдовете.
  • Вградени системи: Обработвайте PPTX файлове в среди с критични изисквания за производителност или ограничени ресурси.
  • Пакетна обработка: Прилагайте еднородни промени във форматирането върху големи библиотеки от набори слайдове.

Форматиране на текст и визуални ефекти

  • Форматиране на ниво символ: Прилагайте удебеляване, курсив, размер на шрифта и цвят към отделни обекти Portion чрез PortionFormat.
  • Плътни и градиентни запълнения: Задайте запълване на форма с плътен цвят или линейно градиентно запълнение с множество стопове, използвайки FillFormat и FillType.
  • Ефекти на сянка и светлина: Прилагайте външна сянка, светлина, размазване и отражение към всяка форма чрез EffectFormat.
  • Подравняване на абзац: Задайте подравняване наляво, по център, надясно или подравняване по ширина за всеки абзац, използвайки ParagraphFormat и set_alignment().
  • Безопасно при обратен процес: Неизвестните XML части се запазват дословно при повторно запазване.

Опит на разработчиците

Aspose.Slides FOSS се интегрира чрез CMake FetchContent, така че не е необходимо ръчно изтегляне или системно инсталиране. Библиотеката се компилира от изходния код заедно с вашия проект.

API‑то отразява собствения обектен модел на PowerPoint (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), така че всеки, запознат с обектния модел на PowerPoint, може да използва библиотеката веднага. Тя е лицензирана под MIT, с отворен код в GitHub и изисква компилатор, съвместим с C++17.

Създайте презентация и добавете форма

RAII гарантира, че деструкторът на Presentation освобождава всички ресурси автоматично, когато обектът излезе от обхвата. add_auto_shape() приема изброен тип ShapeType, след това позиция x/y и ширина/височина в точки — text_frame‑ът на формата предоставя достъп за задаване на текстово съдържание.

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() {
    Aspose::Slides::Foss::Presentation prs;
    auto& slide = prs.slides()[0];

    // Добавяне на правоъгълна AutoShape
    auto& shape = slide.shapes().add_auto_shape(
        Aspose::Slides::Foss::ShapeType::RECTANGLE,
        50, 50, 400, 150
    );
    shape.text_frame()->set_text("Здравей, Aspose.Slides!");

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

Форматирайте текста и приложете ефект за запълване

Форматирането на текста работи на ниво Portion — най-малката единица от поредица от знаци. Отворете запазения файл, навигирайте до първата част от първия параграф и задайте свойствата на шрифта директно. Запълването на формата е независимо: задайте тип на запълването като плътен и задайте цвят.

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

    // Удебелен, 18pt текст
    portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
    portion.portion_format().set_font_height(18);

    // Плътно запълване на фона на формата
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

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

Frequently Asked Questions

Какво е Aspose.Slides FOSS за C++?

Това е безплатна C++ библиотека с лиценз MIT за създаване, четене и редактиране на презентации PowerPoint .pptx без необходимост от Microsoft Office.

Кои файлови формати се поддържат?

PPTX е поддържаният формат за четене/писане. Експортирането към PDF, HTML, SVG или изображения не е налично в това издание.

Изисква ли Microsoft Office или PowerPoint?

Не. Aspose.Slides FOSS е самостоятелна C++ библиотека без зависимост от Microsoft Office, COM автоматизация или какъвто и да е собственически runtime.

Как да го инсталирам?

Използвайте CMake FetchContent, за да интегрирате библиотеката директно от GitHub. Библиотеката изисква компилатор, съвместим с C++17.

Мога ли да приложа визуални ефекти като сянка и светене?

Да. Библиотеката поддържа ефекти на външна сянка, светлинен ореол, размазване и отражение върху всеки обект‑форма чрез API‑то EffectFormat.

Използва ли библиотеката RAII за управление на ресурсите?

Да. Деструкторът на Presentation освобождава цялото вътрешно състояние автоматично, така че не е необходима изрична почистване.

Ще унищожи ли повторното четене/записване (round‑tripping) на PPTX неизвестно съдържание?

Не. Неизвестните XML части, срещнати по време на зареждане, се запазват дословно при запазване, така че съдържанието, което библиотеката все още не разбира, никога не се губи.

Къде мога да намеря изходния код?

Библиотеката е лицензирана под MIT и е хоствана в GitHub. Съобщения за грешки и pull request‑ове са добре дошли.

  

Ресурси за поддръжка и обучение

 Български