1. Produkty
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for C++

Aspose.Slides FOSS for C++

Twórz, odczytuj i edytuj prezentacje PowerPoint z C++ — darmowe i open-source, bez wymogu zależności od Office.

Biblioteka C++ typu open-source do prezentacji PowerPoint

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.

API prezentacji i slajdów

  • Utwórz i otwórz PPTX: Twórz nowe prezentacje lub otwieraj istniejące pliki .pptx za pomocą Presentation() lub Presentation(path).
  • Dodawaj i usuwaj slajdy: Programowo zarządzaj SlideCollection przy użyciu add_clone(), remove() i remove_at().
  • AutoShapes: Wstawiaj prostokąty, elipsy, linie i inne geometrie ShapeType za pomocą add_auto_shape().
  • Tabele i łączniki: Dodawaj strukturalne kształty tabel oraz linie łączników pomiędzy kształtami za pomocą add_connector().
  • Notatki prelegenta: Odczytuj i zapisuj notatki prelegenta dla poszczególnych slajdów za pośrednictwem NotesSlideManager.
  • Komentarze wątkowe: Uzyskaj dostęp do wątków komentarzy na poziomie slajdu za pomocą get_slide_comments().

Gdzie można używać Aspose.Slides FOSS

  • Generowanie raportów: Twórz markowe zestawy slajdów z źródeł danych bez użycia Office.
  • Automatyzacja szablonów: Wypełniaj szablony PPTX dynamiczną treścią w pipeline’ach CI/CD.
  • Migracja treści: Odczytaj istniejące prezentacje i przekształć lub przeprojektuj slajdy.
  • Systemy wbudowane: Przetwarzaj pliki PPTX w środowiskach o krytycznej wydajności lub ograniczonych zasobach.
  • Przetwarzanie wsadowe: Zastosuj jednolite zmiany formatowania w dużych bibliotekach zestawów slajdów.

Formatowanie tekstu i efekty wizualne

  • Formatowanie na poziomie znaków: Zastosuj pogrubienie, kursywę, rozmiar czcionki i kolor do poszczególnych obiektów Portion za pomocą PortionFormat.
  • Wypełnienia stałe i gradientowe: Ustaw wypełnienie kształtu na jednolity kolor lub liniowy gradient wielostopniowy przy użyciu FillFormat i FillType.
  • Efekty cienia i poświaty: Zastosuj zewnętrzny cień, poświatę, rozmycie i odbicie do dowolnego kształtu za pomocą EffectFormat.
  • Wyrównanie akapitu: Ustaw wyrównanie lewo, środek, prawo lub justowanie dla każdego akapitu przy użyciu ParagraphFormat i set_alignment().
  • Bezpieczne przy wielokrotnym zapisie: Nieznane części XML są zachowywane w formie dosłownej przy ponownym zapisie.

Doświadczenie dewelopera

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.

Utwórz prezentację i dodaj kształt

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

Formatuj tekst i zastosuj efekt wypełnienia

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

Najczęściej Zadawane Pytania

Czym jest Aspose.Slides FOSS dla C++?

Jest to darmowa, na licencji MIT biblioteka C++ do tworzenia, odczytywania i edytowania prezentacji PowerPoint .pptx bez wymogu posiadania Microsoft Office.

Jakie formaty plików są obsługiwane?

PPTX jest obsługiwanym formatem odczytu/zapisu. Eksport do PDF, HTML, SVG ani obrazów nie jest dostępny w tej edycji.

Czy wymaga Microsoft Office lub PowerPoint?

Nie. Aspose.Slides FOSS jest samodzielną biblioteką C++ bez zależności od Microsoft Office, automatyzacji COM ani żadnego własnościowego środowiska uruchomieniowego.

Jak go zainstalować?

Użyj CMake FetchContent, aby zintegrować bibliotekę bezpośrednio z GitHub. Biblioteka wymaga kompilatora zgodnego z C++17.

Czy mogę zastosować efekty wizualne, takie jak cień i poświata?

Tak. Biblioteka obsługuje efekty zewnętrznego cienia, poświaty, rozmycia i odbicia na dowolnym obiekcie kształtu za pośrednictwem API EffectFormat.

Czy biblioteka używa RAII do zarządzania zasobami?

Tak. Destruktor Presentation zwalnia cały wewnętrzny stan automatycznie, więc nie jest potrzebne jawne czyszczenie.

Czy round-tripping pliku PPTX zniszczy nieznaną zawartość?

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.

Gdzie mogę znaleźć kod źródłowy?

Biblioteka jest na licencji MIT i jest hostowana na GitHubie. Zgłoszenia błędów i pull requesty są mile widziane.

  

Zasoby Wsparcia i Nauki

 Polski