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.
.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() приема изброен тип 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;
}
Това е безплатна C++ библиотека с лиценз MIT за създаване, четене и редактиране на презентации PowerPoint .pptx без необходимост от Microsoft Office.
PPTX е поддържаният формат за четене/писане. Експортирането към PDF, HTML, SVG или изображения не е налично в това издание.
Не. Aspose.Slides FOSS е самостоятелна C++ библиотека без зависимост от Microsoft Office, COM автоматизация или какъвто и да е собственически runtime.
Използвайте CMake FetchContent, за да интегрирате библиотеката директно от GitHub. Библиотеката изисква компилатор, съвместим с C++17.
Да. Библиотеката поддържа ефекти на външна сянка, светлинен ореол, размазване и отражение върху всеки обект‑форма чрез API‑то EffectFormat.
Да. Деструкторът на Presentation освобождава цялото вътрешно състояние автоматично, така че не е необходима изрична почистване.
Не. Неизвестните XML части, срещнати по време на зареждане, се запазват дословно при запазване, така че съдържанието, което библиотеката все още не разбира, никога не се губи.
Библиотеката е лицензирана под MIT и е хоствана в GitHub. Съобщения за грешки и pull request‑ове са добре дошли.