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.
.pptx datoteke putem Presentation() ili Presentation(path).SlideCollection s add_empty_slide(), remove() i remove_at().ShapeType geometrije putem add_auto_shape().add_connector().NotesSlideManager.pres.comment_authors() i njihovim pridruženim komentarima.Portion objekte putem PortionFormat.FillFormat i FillType.EffectFormat.ParagraphFormat i set_alignment().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.
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)
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;
}
To je besplatna, MIT-licencirana C++ biblioteka za stvaranje, č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 verziji.
Ne. Aspose.Slides FOSS je samostalna C++ biblioteka bez ovisnosti o Microsoft Officeu, COM automatizaciji ili bilo kojem vlasničkom runtimeu.
Koristite CMake FetchContent za integraciju biblioteke izravno s GitHub-a. Biblioteka zahtijeva kompajler koji podržava C++20.
Da. Biblioteka podržava vanjski sjenu, sjaj, zamućenje i refleksijske efekte na bilo kojem objektu oblika putem EffectFormat API-ja.
Da. Presentation destruktor automatski oslobađa sve interno stanje, pa nije potrebno eksplicitno čišćenje.
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.
Biblioteka je licencirana pod MIT licencom i hostirana na GitHub-u. Prijave grešaka i pull requesti su dobrodošli.