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

Aspose.Slides FOSS za C++

Stvarajte, čitajte i uređujte PowerPoint prezentacije iz C++ — besplatno i open‑source, bez ovisnosti o Officeu.

Open‑Source C++ biblioteka za PowerPoint prezentacije

Aspose.Slides FOSS za C++ je MIT-licencirana biblioteka za rad s PowerPoint .pptx datotekama. Integrirajte je putem CMake FetchContent i odmah počnite stvarati, čitati i uređivati prezentacije bez instalacije Microsoft Officea ili bilo kojeg vlasničkog runtimea.

Biblioteka izlaže Presentation API izgrađen oko Presentation, Slide, ShapeCollection, TextFrame, Paragraph i Portion, konceptualni model koji koristi sam PowerPoint. Dodajte i uklonite slajdove, umetnite AutoShapes, tablice i konektore, formatirajte tekst na razini znakova s podebljanim, kurzivnim, veličinom fonta i bojom, primijenite jednolična ili gradijentna ispunjenja i dodajte vizualne efekte (sjena, sjaj, zamućenje, refleksija).

RAII semantika osigurava pouzdano čišćenje resursa: destruktor Presentation automatski oslobađa sve interno stanje. Nepoznati XML dijelovi koji se pojave tijekom učitavanja očuvani su doslovno pri spremanju, tako da round-tripping nikada ne uništava sadržaj koji biblioteka još ne razumije. Biblioteka zahtijeva C++20‑kompatibilni kompajler. Za dodatne značajke, pogledajte Aspose.Slides for C++ enterprise edition.

API za prezentacije i slajdove

  • Stvaranje i otvaranje PPTX: Stvorite nove prezentacije ili otvorite postojeće .pptx datoteke putem Presentation() ili Presentation(path).
  • Dodaj i ukloni slajdove: Programatski upravljajte SlideCollection s add_empty_slide(), remove() i remove_at().
  • AutoShapes: Umetnite pravokutnike, elipse, linije i druge ShapeType geometrije putem add_auto_shape().
  • Tablice i konektori: Dodajte strukturirane oblike tablica i linije konektora između oblika putem add_connector().
  • Bilješke govornika: Čitajte i pišite bilješke govornika po slajdu putem NotesSlideManager.
  • Niti komentara: Pristupite nitima komentara iteriranjem pres.comment_authors() i njihovim pridruženim komentarima.

Gdje se Aspose.Slides FOSS može koristiti

  • Report generation: Izradite brendirane prezentacije iz izvora podataka bez Officea.
  • Automatizacija predložaka: Popunite PPTX predloške dinamičnim sadržajem u CI/CD cjevovodima.
  • Migracija sadržaja: Pročitajte postojeće prezentacije i restrukturirajte ili preoblikujte slajdove.
  • Ugrađeni sustavi: Obradite PPTX datoteke u okruženjima s kritičnim performansama ili ograničenim resursima.
  • Serijska obrada: Primijenite jedinstvene promjene formatiranja na velike biblioteke slajdova.

Oblikovanje teksta i vizualni efekti

  • Oblikovanje na razini znakova: Primijenite podebljano, kurziv, veličinu fonta i boju na pojedinačne Portion objekte putem PortionFormat.
  • Čvrste i gradijentne ispune: Postavite ispunu oblika na jednolitnu boju ili višestupanjski linearni gradijent koristeći FillFormat i FillType.
  • Efekti sjene i sjaja: Primijenite vanjsku sjenu, sjaj, zamućenje i refleksiju na bilo koji oblik putem EffectFormat.
  • Poravnanje odlomka: Postavite lijevo, centar, desno ili poravnanje po obostranoj margini po odlomku koristeći ParagraphFormat i set_alignment().
  • Sigurno za povratno putovanje: Nepoznati XML dijelovi se čuvaju doslovno pri ponovnom spremanju.

Iskustvo programera

Aspose.Slides FOSS integrira se putem CMake FetchContent, tako da nije potrebno ručno preuzimanje ili instalacija na razini sustava. Biblioteka se gradi iz izvornog koda uz vaš projekt.

API preslikava vlastiti objektni model PowerPointa (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), pa svatko tko je upoznat s objektnim modelom PowerPointa može odmah koristiti biblioteku. To je licencirano pod MIT licencom, otvorenog koda na GitHubu i zahtijeva C++20‑kompatibilni kompajler.

Kreiraj prezentaciju i dodaj oblik

RAII osigurava da destruktor Presentation automatski oslobodi sve resurse kada objekt izađe iz opsega. add_auto_shape() prima ShapeType enum, zatim x/y položaj i širinu/visinu u točkama — svojstvo text_frame oblika pruža pristup za postavljanje tekstualnog sadržaja.

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

    // Add a rectangle AutoShape
    auto& shape = slide.shapes().add_auto_shape(
        Aspose::Slides::Foss::ShapeType::RECTANGLE,
        50, 50, 400, 150
    );
    shape.text_frame()->set_text("Hello, Aspose.Slides!");

    prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
    return 0;
}
 ```cmake
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)
 

Formatiraj tekst i primijeni efekt ispune

Oblikovanje teksta radi na razini Portion — najmanje jedinice niza znakova. Otvorite spremljenu datoteku, navigirajte do prvog dijela prvog odlomka i izravno postavite svojstva fonta. Ispunjavanje oblika je neovisno: postavite vrstu ispune na jednolitno i dodijelite boju.

#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;
}
 ```cpp
#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;
}
 

Često postavljana pitanja

Što je Aspose.Slides FOSS za C++?

To je besplatna, MIT-licencirana C++ biblioteka za stvaranje, čitanje i uređivanje PowerPoint .pptx prezentacija bez potrebe za Microsoft Office-om.

Koji su podržani formati datoteka?

.pptx je podržani format za čitanje/pisanje. Izvoz u PDF, HTML, SVG ili slike nije dostupan u ovoj verziji.

Zahtijeva li Microsoft Office ili PowerPoint?

Ne. Aspose.Slides FOSS je samostalna C++ biblioteka bez ovisnosti o Microsoft Officeu, COM automatizaciji ili bilo kojem vlasničkom runtimeu.

Kako ga instalirati?

Koristite CMake FetchContent za integraciju biblioteke izravno s GitHub-a. Biblioteka zahtijeva kompajler koji podržava C++20.

Mogu li primijeniti vizualne efekte poput sjene i sjaja?

Da. Biblioteka podržava vanjski sjenu, sjaj, zamućenje i refleksijske efekte na bilo kojem objektu oblika putem EffectFormat API-ja.

Koristi li biblioteka RAII za upravljanje resursima?

Da. Presentation destruktor automatski oslobađa sve interno stanje, pa nije potrebno eksplicitno čišćenje.

Hoće li ponovno učitavanje i spremanje PPTX-a uništiti nepoznati sadržaj?

Ne. Nepoznati XML dijelovi koji se pojave tijekom učitavanja čuvaju se doslovno pri spremanju, pa sadržaj koji biblioteka još ne razumije nikada ne bude izgubljen.

Gdje mogu pronaći izvorni kod?

Biblioteka je licencirana pod MIT licencom i hostirana na GitHub-u. Prijave grešaka i pull requesti su dobrodošli.

  

Resursi za podršku i učenje

 Hrvatski