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

Aspose.Slides FOSS za C++

Kreirajte, čitajte i uređujte PowerPoint prezentacije iz C++ — besplatno i open‑source, bez potrebe za Office‑om.

Open‑source C++ biblioteka za PowerPoint prezentacije

Aspose.Slides FOSS za C++ je MIT-licencirana biblioteka za rad sa PowerPoint .pptx fajlovima. Integrirajte je putem CMake FetchContent i odmah počnite da kreirate, čitate i uređujete prezentacije bez instalacije Microsoft Office-a ili bilo kog vlasničkog runtime-a.

Biblioteka izlaže Presentation API izgrađen oko Presentation, Slide, ShapeCollection, TextFrame, Paragraph i Portion, konceptualnog modela koji koristi sam PowerPoint. Dodajte i uklonite slajdove, umetnite AutoShapes, tabele i konektore, formatirajte tekst na nivou karaktera sa podebljanim, kurzivom, veličinom fonta i bojom, primenite jednobojna ili gradijentna popunjavanja i dodajte vizuelne efekte (senka, sjaj, zamućenje, refleksija).

RAII semantika osigurava pouzdano čišćenje resursa: destruktor Presentation automatski oslobađa sve interno stanje. Nepoznati XML delovi koji se pojave tokom učitavanja čuvaju se doslovno prilikom čuvanja, tako da round-tripping nikada ne uništava sadržaj koji biblioteka još ne razume. Biblioteka zahteva C++20‑kompatibilni kompajler. Za dodatne funkcije, pogledajte Aspose.Slides for C++ enterprise edition.

API za prezentacije i slajdove

  • Kreirajte i otvorite PPTX: Kreirajte nove prezentacije ili otvorite postojeće .pptx datoteke putem Presentation() ili Presentation(path).
  • Dodavanje i uklanjanje slajdova: Programski upravljajte SlideCollection sa add_empty_slide(), remove() i remove_at().
  • AutoShapes: Уметните правоугаонике, елипсе, линије и друге ShapeType геометрије преко add_auto_shape().
  • Табеле и конектори: Додајте структуиране облике табела и линије конектора између облика преко add_connector().
  • Speaker notes: Čitajte i pišite beleške po slajdu kroz NotesSlideManager.
  • Niti komentara: Pristupajte nitima komentara iteriranjem pres.comment_authors() i njihovim povezanim komentarima.

Gde se Aspose.Slides FOSS može koristiti

  • Report generation: Izradite brendirane slajd setove iz izvora podataka bez Office-a.
  • Automatizacija šablona: Popunite PPTX šablone dinamičkim sadržajem u CI/CD pipeline-ima.
  • Migracija sadržaja: Pročitajte postojeće prezentacije i restrukturirajte ili preoblikujte slajdove.
  • Ugrađeni sistemi: Obradite PPTX fajlove u okruženjima sa kritičnim performansama ili ograničenim resursima.
  • Serijska obrada: Primeni jedinstvene promene formatiranja na velikim bibliotekama slajdova.

Formatiranje teksta i vizuelni efekti

  • Formatiranje na nivou karaktera: Primeni podebljano, kurziv, veličinu fonta i boju na pojedinačne Portion objekte putem PortionFormat.
  • Čvrsto i gradijentno popunjavanje: Postavite popunjavanje oblika na jednobojnu boju ili višestruki linearni gradijent koristeći FillFormat i FillType.
  • Efekti senke i sjaja: Primeni spoljašnju senku, sjaj, zamućenje i refleksiju na bilo koji oblik putem EffectFormat.
  • Poravnanje paragrafa: Postavite levo, centar, desno ili poravnanje po širini po paragrafu koristeći ParagraphFormat i set_alignment().
  • Round-trip safe: Nepoznati XML delovi se čuvaju doslovno pri ponovnom čuvanju.

Iskustvo programera

Aspose.Slides FOSS se integriše putem CMake FetchContent, tako da nije potrebno ručno preuzimanje ili sistemska instalacija. Biblioteka se gradi iz izvornog koda zajedno sa vašim projektom.

API preslikava PowerPoint‑ov sopstveni objektni model (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), tako da svako ko je upoznat sa PowerPoint objekt modelom može odmah da koristi biblioteku. Ona je MIT‑licencirana, open‑source na GitHub‑u i zahteva C++20‑kompatibilni kompajler.

Kreirajte prezentaciju i dodajte oblik

RAII osigurava da destruktor Presentation automatski oslobodi sve resurse kada objekat izađe iz opsega. add_auto_shape() prima ShapeType enum, zatim x/y poziciju i širinu/visinu u tačkama — oblika text_frame 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)
 

Formatirajte tekst i primenite efekat popunjavanja

Formatiranje teksta radi na nivou Portion — najmanja jedinica niza znakova. Otvorite sačuvani fajl, navigirajte do prvog dela prvog pasusa i direktno postavite svojstva fonta. Popunjavanje oblika je nezavisno: postavite tip popunjavanja na solid i dodelite 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;
}
 

Frequently Asked Questions

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

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

Koji formati fajlova su podržani?

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

Da li zahteva Microsoft Office ili PowerPoint?

Ne. Aspose.Slides FOSS je samostalna C++ biblioteka bez zavisnosti od Microsoft Office‑a, COM automatizacije ili bilo kojeg vlasničkog runtime‑a.

Kako da ga instaliram?

Koristite CMake FetchContent da integrišete biblioteku direktno sa GitHub‑a. Biblioteka zahteva kompajler koji podržava C++20.

Mogu li da primenim vizuelne efekte kao što su senka i sjaj?

Da. Biblioteka podržava spoljašnju senku, sjaj, zamućenje i efekte refleksije na bilo kom objektu oblika putem EffectFormat API‑ja.

Da li biblioteka koristi RAII za upravljanje resursima?

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

Da li će round‑tripping PPTX‑a uništiti nepoznat sadržaj?

Ne. Nepoznati XML delovi koji se pojave prilikom učitavanja čuvaju se doslovno prilikom čuvanja, tako da sadržaj koji biblioteka još ne razume nikada ne bude izgubljen.

Gde mogu da nađem izvorni kod?

Biblioteka je licencirana pod MIT licencom i hostovana na GitHub‑u. Izveštaji o greškama i pull zahtevi su dobrodošli.

  

Support and Learning Resources

 Српски