Aspose.Slides FOSS for C++ on MIT-lisenssillä varustettu kirjasto PowerPoint .pptx -tiedostojen käsittelyyn. Integroi se CMake FetchContentin avulla ja aloita välittömästi esitysten luominen, lukeminen ja muokkaaminen asentamatta Microsoft Officea tai mitään proprietaarista ajonaikaisia komponentteja.
Kirjasto tarjoaa Presentation API:n, joka on rakennettu Presentation, Slide, ShapeCollection, TextFrame, Paragraph ja Portion ympärille, PowerPointin käyttämän konseptuaalisen mallin perusteella. Lisää ja poista dioja, lisää AutoShapeja, taulukoita ja liittimiä, muotoile tekstiä merkkitasolla lihavoinnilla, kursiivilla, fonttikoolla ja -värillä, käytä kiinteitä tai liukuvärisiä täyteitä ja lisää visuaalisia tehosteita (varjo, hehku, sumennus, heijastus).
RAII-semanttiikka varmistaa luotettavan resurssien puhdistuksen: Presentation -tuhoaja vapauttaa kaiken sisäisen tilan automaattisesti. Tuntemattomat XML -osat, jotka havaittiin latauksen aikana, säilytetään kirjaimellisesti tallennettaessa, joten pyöräytys ei koskaan tuhoa sisältöä, jota kirjasto ei vielä ymmärrä. Kirjasto vaatii C++20-yhteensopivan kääntäjän. Lisäominaisuuksia varten katso Aspose.Slides for C++ enterprise edition.
.pptx -tiedostoja Presentation() tai Presentation(path) kautta.SlideCollection käyttäen add_empty_slide(), remove() ja remove_at().ShapeType geometrioita via add_auto_shape().add_connector() kautta.NotesSlideManager kautta.pres.comment_authors() ja niiden liitetyt kommentit.Portion objekteihin PortionFormat kautta.FillFormat ja FillType.EffectFormat kautta.ParagraphFormat ja set_alignment().Aspose.Slides FOSS integroituu CMake:n kautta FetchContent, joten manuaalista latausta tai järjestelmänlaajuista asennusta ei tarvita. Kirjasto käännetään lähdekoodista projektisi rinnalla.
API peilaa PowerPointin omaa objektimallia (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), joten kuka tahansa, joka tuntee PowerPointin objektimallin, voi käyttää kirjastoa heti. Se on MIT-lisensoitu, avoin lähdekoodi GitHubissa, ja vaatii C++20-yhteensopivan kääntäjän.
RAII varmistaa, että Presentation destruktori vapauttaa kaikki resurssit automaattisesti, kun objekti poistuu näkyvyysalueelta. add_auto_shape() ottaa ShapeType enumin, sitten x/y‑sijainnin ja leveyden/korkeuden pisteinä — muodon text_frame tarjoaa pääsyn tekstisisällön asettamiseen.
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)
Tekstin muotoilu toimii Portion-tasolla — pienin merkkijonon yksikkö. Avaa tallennettu tiedosto, siirry ensimmäisen kappaleen ensimmäiseen osaan ja aseta fontin ominaisuudet suoraan. Muodon täyttö on itsenäinen: aseta täyttötyypiksi kiinteä ja määritä väri.
#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;
}
Se on ilmainen, MIT-lisenssiä käyttävä C++-kirjasto PowerPoint .pptx -esitysten luomiseen, lukemiseen ja muokkaamiseen ilman Microsoft Officen tarvetta.
.pptx on tuettu luku/kirjoitus -muoto. Vienti PDF:ksi, HTML, SVG:ksi tai kuviksi ei ole saatavilla tässä versiossa.
Ei. Aspose.Slides FOSS on itsenäinen C++-kirjasto, jolla ei ole riippuvuutta Microsoft Officesta, COM-automaatioista tai mistään omistusoikeudellisesta ajonaikaisesta ympäristöstä.
Käytä CMake FetchContent -toimintoa kirjaston integroimiseksi suoraan GitHubista. Kirjasto vaatii C++20-yhteensopivan kääntäjän.
Kyllä. Kirjasto tukee ulkoista varjoa, hehkua, sumennusta ja heijastustehosteita kaikissa muoto-objekteissa EffectFormat-rajapinnan kautta.
Kyllä. Presentation-tuhoaja vapauttaa kaiken sisäisen tilan automaattisesti, joten erillistä siivousta ei tarvita.
Ei. Tuntemattomat XML-osat, jotka havaitaan latauksen aikana, säilytetään tarkalleen tallennettaessa, joten kirjaston vielä ymmärtämät sisällöt eivät koskaan katoa.
Kirjasto on MIT-lisensoitu ja isännöity GitHubissa. Virheraportit ja pull-pyynnöt ovat tervetulleita.