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

Aspose.Slides FOSS C++:lle

Luo, lue ja muokkaa PowerPoint-esityksiä C++:sta — ilmainen ja avoimen lähdekoodin, Office-riippuvuutta ei vaadita.

Avoimen lähdekoodin C++-kirjasto PowerPoint-esityksille

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.

Esitys- ja dia-API

  • Luo ja avaa PPTX: Luo uusia esityksiä tai avaa olemassa olevia .pptx -tiedostoja Presentation() tai Presentation(path) kautta.
  • Lisää ja poista dioja: Ohjelmallisesti hallitse SlideCollection käyttäen add_empty_slide(), remove() ja remove_at().
  • AutoShapes: Lisää suorakulmioita, ellipsiä, viivoja ja muita ShapeType geometrioita via add_auto_shape().
  • Taulukot ja liittimet: Lisää rakenteellisia taulukkomuotoja ja liitosviivoja muotojen väliin add_connector() kautta.
  • Puhujan muistiinpanot: Lue ja kirjoita dioittain puhujan muistiinpanoja NotesSlideManager kautta.
  • Ketjutetut kommentit: Pääset kommenttiketjuihin iteroimalla pres.comment_authors() ja niiden liitetyt kommentit.

Missä Aspose.Slides FOSS voidaan käyttää

  • Raportin luominen: Rakenna brändättyjä diaesityksiä tietolähteistä ilman Officea.
  • Template automation: Täytä PPTX-mallit dynaamisella sisällöllä CI/CD-putkissa.
  • Sisällön siirto: Lue olemassa olevat esitykset ja rakenna uudelleen tai tyylittele diat uudelleen.
  • Sulautetut järjestelmät: Käsittele PPTX‑tiedostoja suorituskykykriittisissä tai resurssirajoitteisissa ympäristöissä.
  • Batch processing: Sovella yhtenäisiä muotoilumuutoksia suuriin diaesityskirjastoihin.

Tekstin muotoilu ja visuaaliset tehosteet

  • Merkkitasoinen muotoilu: Käytä lihavointia, kursivointia, fonttikokoa ja väriä yksittäisiin Portion objekteihin PortionFormat kautta.
  • Kiinteät ja liukuväritäytöt: Aseta muodon täyttö kiinteäksi väriksi tai monivaiheiseksi lineaariseksi liukuväriksi käyttäen FillFormat ja FillType.
  • Varjo- ja hehkuefektit: Lisää ulkoinen varjo, hehku, sumennus ja heijastus mihin tahansa muotoon EffectFormat kautta.
  • Kappaleen tasaus: Aseta vasen, keskitetty, oikea tai tasattu tasaus kappaleittain käyttäen ParagraphFormat ja set_alignment().
  • Round-trip safe: Tuntemattomat XML osat säilyvät kirjaimellisesti tallennettaessa uudelleen.

Kehittäjäkokemus

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.

Luo esitys ja lisää muoto

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)
 

Muotoile Tekstiä ja Käytä Täyttöefektiä

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;
}
 

Usein kysytyt kysymykset

Mikä on Aspose.Slides FOSS C++:lle?

Se on ilmainen, MIT-lisenssiä käyttävä C++-kirjasto PowerPoint .pptx -esitysten luomiseen, lukemiseen ja muokkaamiseen ilman Microsoft Officen tarvetta.

Mitkä tiedostomuodot ovat tuettuja?

.pptx on tuettu luku/kirjoitus -muoto. Vienti PDF:ksi, HTML, SVG:ksi tai kuviksi ei ole saatavilla tässä versiossa.

Vaatiiko se Microsoft Officea tai PowerPointia?

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ä.

Kuinka asennan sen?

Käytä CMake FetchContent -toimintoa kirjaston integroimiseksi suoraan GitHubista. Kirjasto vaatii C++20-yhteensopivan kääntäjän.

Voinko käyttää visuaalisia tehosteita, kuten varjoa ja hehkua?

Kyllä. Kirjasto tukee ulkoista varjoa, hehkua, sumennusta ja heijastustehosteita kaikissa muoto-objekteissa EffectFormat-rajapinnan kautta.

Käyttääkö kirjasto RAII:ta resurssien hallinnassa?

Kyllä. Presentation-tuhoaja vapauttaa kaiken sisäisen tilan automaattisesti, joten erillistä siivousta ei tarvita.

Tuhoaako PPTX:n pyöräytys tuntemattoman sisällön?

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.

Missä löydän lähdekoodin?

Kirjasto on MIT-lisensoitu ja isännöity GitHubissa. Virheraportit ja pull-pyynnöt ovat tervetulleita.

  

Tuki- ja oppimisresurssit

 Suomi