Aspose.Slides FOSS dla C++ to biblioteka na licencji MIT umożliwiająca pracę z plikami PowerPoint .pptx. Zintegruj ją za pomocą CMake FetchContent i od razu zacznij tworzyć, odczytywać i edytować prezentacje bez instalowania Microsoft Office ani żadnego własnościowego środowiska uruchomieniowego.
Biblioteka udostępnia API prezentacji zbudowane wokół Presentation, Slide, ShapeCollection, TextFrame, Paragraph i Portion, czyli modelu koncepcyjnego używanego przez sam PowerPoint. Dodawaj i usuwaj slajdy, wstawiaj AutoShapes, Tabele i Łączniki, formatuj tekst na poziomie znaków — pogrubienie, kursywa, rozmiar czcionki i kolor, stosuj wypełnienia jednorodne lub gradientowe oraz dodawaj efekty wizualne (cień, poświata, rozmycie, odbicie).
Semantyka RAII zapewnia niezawodne czyszczenie zasobów: destruktor Presentation automatycznie zwalnia cały wewnętrzny stan. Nieznane części XML napotkane podczas ładowania są zachowywane w niezmienionej formie przy zapisie, więc round‑tripping nigdy nie niszczy treści, których biblioteka jeszcze nie rozumie. Biblioteka wymaga kompilatora zgodnego z C++17.
.pptx za pomocą Presentation() lub Presentation(path).SlideCollection przy użyciu add_clone(), remove() i remove_at().ShapeType za pomocą add_auto_shape().add_connector().NotesSlideManager.get_slide_comments().Portion za pomocą PortionFormat.FillFormat i FillType.EffectFormat.ParagraphFormat i set_alignment().Aspose.Slides FOSS integruje się poprzez CMake FetchContent, więc nie jest potrzebne ręczne pobieranie ani instalacja systemowa. Biblioteka buduje się ze źródeł razem z Twoim projektem.
API odzwierciedla własny model obiektowy PowerPointa (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), więc każdy zaznajomiony z modelem obiektowym PowerPointa może od razu używać biblioteki. Jest licencjonowana na licencji MIT, otwarto‑źródłowa na GitHubie i wymaga kompilatora zgodnego z C++17.
RAII zapewnia, że destruktor Presentation automatycznie zwalnia wszystkie zasoby, gdy obiekt wychodzi poza zakres. add_auto_shape() przyjmuje wyliczenie ShapeType, a następnie pozycję x/y oraz szerokość/wysokość w punktach — text_frame kształtu zapewnia dostęp do ustawiania treści tekstowej.
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];
// Dodaj prostokątną AutoShape
auto& shape = slide.shapes().add_auto_shape(
Aspose::Slides::Foss::ShapeType::RECTANGLE,
50, 50, 400, 150
);
shape.text_frame()->set_text("Witaj, Aspose.Slides!");
prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
return 0;
}
Formatowanie tekstu działa na poziomie Portion — najmniejszej jednostki ciągu znaków. Otwórz zapisany plik, przejdź do pierwszej części pierwszego akapitu i ustaw właściwości czcionki bezpośrednio. Wypełnienie kształtu jest niezależne: ustaw typ wypełnienia na stały i przypisz kolor.
#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];
// Bold, 18pt text
portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
portion.portion_format().set_font_height(18);
// Solid background fill on the shape
shape.fill_format().set_fill_type(asf::FillType::SOLID);
prs.save("formatted.pptx", asf::SaveFormat::PPTX);
return 0;
}
Jest to darmowa, na licencji MIT biblioteka C++ do tworzenia, odczytywania i edytowania prezentacji PowerPoint .pptx bez wymogu posiadania Microsoft Office.
PPTX jest obsługiwanym formatem odczytu/zapisu. Eksport do PDF, HTML, SVG ani obrazów nie jest dostępny w tej edycji.
Nie. Aspose.Slides FOSS jest samodzielną biblioteką C++ bez zależności od Microsoft Office, automatyzacji COM ani żadnego własnościowego środowiska uruchomieniowego.
Użyj CMake FetchContent, aby zintegrować bibliotekę bezpośrednio z GitHub. Biblioteka wymaga kompilatora zgodnego z C++17.
Tak. Biblioteka obsługuje efekty zewnętrznego cienia, poświaty, rozmycia i odbicia na dowolnym obiekcie kształtu za pośrednictwem API EffectFormat.
Tak. Destruktor Presentation zwalnia cały wewnętrzny stan automatycznie, więc nie jest potrzebne jawne czyszczenie.
Nie. Nieznane części XML napotkane podczas ładowania są zachowywane dosłownie przy zapisie, więc treść, której biblioteka jeszcze nie rozumie, nigdy nie zostaje utracona.
Biblioteka jest na licencji MIT i jest hostowana na GitHubie. Zgłoszenia błędów i pull requesty są mile widziane.