Aspose.Slides FOSS для C++ — це бібліотека з ліцензією MIT для роботи з файлами PowerPoint .pptx. Інтегруйте її за допомогою CMake FetchContent і одразу починайте створювати, читати та редагувати презентації без встановлення Microsoft Office чи будь‑якого пропрієтарного середовища виконання.
Бібліотека надає API презентацій, побудоване навколо Presentation, Slide, ShapeCollection, TextFrame, Paragraph та Portion — концептуальної моделі, яку використовує сам PowerPoint. Додавайте та видаляйте слайди, вставляйте AutoShapes, Tables та Connectors, форматте текст на рівні символів з використанням жирного, курсивного, розміру шрифту та кольору, застосовуйте суцільні або градієнтні заливки та додавайте візуальні ефекти (тінь, сяйво, розмиття, відображення).
Семантика RAII забезпечує надійне звільнення ресурсів: деструктор Presentation автоматично звільняє весь внутрішній стан. Невідомі XML‑частини, виявлені під час завантаження, зберігаються без змін при збереженні, тому круговий процес ніколи не знищує вміст, який бібліотека ще не розуміє. Для роботи бібліотеки потрібен компілятор, сумісний з C++17.
.pptx за допомогою Presentation() або Presentation(path).SlideCollection за допомогою add_clone(), remove() та remove_at().ShapeType за допомогою add_auto_shape().add_connector().NotesSlideManager.get_slide_comments().Portion за допомогою PortionFormat.FillFormat і FillType.EffectFormat.ParagraphFormat і set_alignment().Aspose.Slides FOSS інтегрується через CMake FetchContent, тому немає потреби у ручному завантаженні чи системному встановленні. Бібліотека збирається з вихідного коду разом з вашим проєктом.
API відображає власну модель об’єктів PowerPoint (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), тому будь-хто, хто знайомий з моделлю об’єктів PowerPoint, може одразу користуватися бібліотекою. Вона має ліцензію MIT, є відкритим кодом на GitHub і вимагає компілятора, сумісного з C++17.
RAII гарантує, що деструктор Presentation автоматично звільняє всі ресурси, коли об’єкт виходить за межі області видимості. add_auto_shape() приймає enum 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 — найменшої одиниці послідовності символів. Відкрийте збережений файл, перейдіть до першої частини першого абзацу і встановіть властивості шрифту безпосередньо. Заповнення форми є незалежним: встановіть тип заповнення на solid і задайте колір.
#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);
// Solid заповнення фону форми
shape.fill_format().set_fill_type(asf::FillType::SOLID);
prs.save("formatted.pptx", asf::SaveFormat::PPTX);
return 0;
}
Це безкоштовна бібліотека C++ з ліцензією MIT для створення, читання та редагування презентацій PowerPoint у форматі .pptx без потреби у Microsoft Office.
PPTX — підтримуваний формат читання/запису. Експорт у PDF, HTML, SVG або зображення недоступний у цій версії.
Ні. Aspose.Slides FOSS — це автономна бібліотека C++ без залежності від Microsoft Office, автоматизації COM або будь‑якого пропрієтарного середовища виконання.
Використовуйте CMake FetchContent, щоб інтегрувати бібліотеку безпосередньо з GitHub. Бібліотека вимагає компілятора, сумісного з C++17.
Так. Бібліотека підтримує зовнішню тінь, підсвічування, розмиття та ефекти відображення для будь‑якого об’єкта форми через API EffectFormat.
Так. Деструктор Presentation автоматично звільняє весь внутрішній стан, тому явне очищення не потрібно.
Ні. Невідомі XML‑частини, виявлені під час завантаження, зберігаються дослівно при збереженні, тому вміст, який бібліотека ще не розуміє, ніколи не втрачається.
Бібліотека має ліцензію MIT і розміщена на GitHub. Повідомлення про помилки та pull‑request’и вітаються.