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.
.pptx datoteke putem Presentation() ili Presentation(path).SlideCollection sa add_empty_slide(), remove() i remove_at().ShapeType геометрије преко add_auto_shape().add_connector().NotesSlideManager.pres.comment_authors() i njihovim povezanim komentarima.Portion objekte putem PortionFormat.FillFormat i FillType.EffectFormat.ParagraphFormat i set_alignment().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.
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)
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;
}
To je besplatna, MIT-licencirana C++ biblioteka za kreiranje, čitanje i uređivanje PowerPoint .pptx prezentacija bez potrebe za Microsoft Office-om.
.pptx je podržani format za čitanje/pisanje. Izvoz u PDF, HTML, SVG ili slike nije dostupan u ovoj ediciji.
Ne. Aspose.Slides FOSS je samostalna C++ biblioteka bez zavisnosti od Microsoft Office‑a, COM automatizacije ili bilo kojeg vlasničkog runtime‑a.
Koristite CMake FetchContent da integrišete biblioteku direktno sa GitHub‑a. Biblioteka zahteva kompajler koji podržava C++20.
Da. Biblioteka podržava spoljašnju senku, sjaj, zamućenje i efekte refleksije na bilo kom objektu oblika putem EffectFormat API‑ja.
Da. Presentation destruktor automatski oslobađa sve interno stanje, tako da nije potrebno eksplicitno čišćenje.
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.
Biblioteka je licencirana pod MIT licencom i hostovana na GitHub‑u. Izveštaji o greškama i pull zahtevi su dobrodošli.