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 uklanjajte slajdove, ubacujte AutoShapes, tabele i konektore, formatirajte tekst na nivou karaktera sa podebljanim, kurzivom, veličinom i bojom fonta, primenjujte 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 interne stanje. Nepoznati XML delovi koji se pojave prilikom učitavanja čuvaju se doslovno prilikom čuvanja, tako da round‑tripping nikada ne uništi sadržaj koji biblioteka još ne razume. Biblioteka zahteva kompajler koji podržava C++17.

API za prezentacije i slajdove

  • Kreiranje i otvaranje PPTX‑a: Kreirajte nove prezentacije ili otvorite postojeće .pptx fajlove putem Presentation() ili Presentation(path).
  • Dodavanje i uklanjanje slajdova: Programatski upravljajte SlideCollection pomoću add_clone(), remove() i remove_at().
  • AutoShapes: Ubacujte pravougaonike, elipse, linije i druge ShapeType geometrije putem add_auto_shape().
  • Tabele i konektori: Dodajte strukturirane oblike tabela i linije konektora između oblika putem add_connector().
  • Napomene za govornika: Čitajte i pišite napomene po slajdu kroz NotesSlideManager.
  • Threaded comments: Pristupite nitima komentara na nivou slajda pomoću get_slide_comments().

Gde se Aspose.Slides FOSS može koristiti

  • Report generation: Kreirajte brendirane prezentacije iz izvora podataka bez Office-a.
  • Template automation: 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.
  • Grupna obrada: Primijenite jedinstvene promene formatiranja na velikim bibliotekama slajdova.

Formatiranje teksta i vizuelni efekti

  • Character-level formatting: Primeni podebljano, kurziv, veličinu fonta i boju na pojedinačne objekte Portion putem PortionFormat.
  • Solid and gradient fills: Postavite popunu oblika na jednobojnu boju ili višestepenu linearnu gradijent koristeći FillFormat i FillType.
  • Shadow and glow effects: Primeni spoljašnju senku, sjaj, zamućenje i refleksiju na bilo koji oblik putem EffectFormat.
  • Paragraph alignment: Postavite poravnavanje levo, centar, desno ili po širini po paragrafu koristeći ParagraphFormat i set_alignment().
  • Round-trip safe: Nepoznati XML delovi se čuvaju doslovno prilikom ponovnog čuvanja.

Iskustvo programera

Aspose.Slides FOSS se integriše putem CMake FetchContent, tako da nije potrebno ručno preuzimanje ili sistemska instalacija. Biblioteka se izgrađuje iz izvornog koda uz vaš projekat.

API odražava PowerPoint‑ov sopstveni objektni model (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), tako da svako ko je upoznat sa PowerPoint‑ovim objektnim modelom može odmah da koristi biblioteku. Biblioteka je licencirana pod MIT‑om, otvorenog koda na GitHub‑u, i zahteva C++17‑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 — 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];

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

    prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
    return 0;
}

Formatirajte tekst i primenite efekat popunjavanja

Formatiranje teksta radi na nivou Portion — najmanje jedinice niza znakova. Otvorite sačuvani fajl, navigirajte do prve porcije 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];

    // Podebljan, 18pt tekst
    portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
    portion.portion_format().set_font_height(18);

    // Solid popunjavanje pozadine na obliku
    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 su podržani formati fajlova?

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

Da li je potreban 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++17.

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.

Da li biblioteka koristi RAII za upravljanje resursima?

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

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

Ne. Nepoznati XML delovi koji se pojave tokom 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 MIT-licensed i hostovana na GitHub-u. Izveštaji o greškama i pull request-ovi su dobrodošli.

  

Support and Learning Resources

 Српски