Johdanto

Aspose.Slides FOSS for C++ is now available: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx tiedostot natiivissa C++:ssa, ilman riippuvuutta Microsoft Officesta tai mistään proprietaarisesta ajonaikaisesta ympäristöstä.

Kirjasto on suunniteltu kehittäjille, jotka tarvitsevat esitystiedostojen luomista tai muokkaamista ohjelmallisesti: diojen automaattinen luominen datasta, tekstin ja metatietojen poiminta ladatuista PPTX-tiedostoista, esityspohjaisten raportointiputkien rakentaminen tai esitysten luomisen upottaminen työpöytä- ja palvelinsovelluksiin. Koska aspose_slides_foss on rakennettu CMake:lla, se kääntyy ja asennetaan Windowsiin, macOS:iin ja Linuxiin.

Keskeiset ominaisuudet

  • Täysi round-trip PPTX -tuki: Avaa mikä tahansa .pptx tiedosto, muokkaa sen sisältöä ja tallenna se takaisin menettämättä tuntemattomia XML-osia, joita kirjasto ei vielä ymmärrä.
  • Diojen hallinta: Lisää, poista ja iteroi dioja käyttäen prs.slides(); esitys alkaa yhdellä tyhjällä dialla rakentamisen jälkeen Presentation.
  • AutoShapes, taulukot ja liittimet: Lisää muotoja käyttäen slide.shapes().add_auto_shape(), taulukkotiedot käyttäen slide.shapes().add_table(), ja visuaaliset liittimet muotojen välillä käyttäen slide.shapes().add_connector().
  • Rikastekstin muotoilu: Muotoile tekstiä merkitasolla käyttäen PortionFormat: fonttikoko, lihavointi, kursiivi, alleviivaus ja ARGB-väri käyttäen FillType::SOLID ja ColorFormat.
  • Täyttötyypit: Käytä FillType::SOLID, Gradient, Pattern, tai Picture täyttää mihin tahansa muotoon.
  • Visuaaliset tehosteet: Ulompi varjo, hehku, pehmeä reuna, sumennus, heijastus ja sisäinen varjo via shape.effect_format().
  • 3D formatting: Viistys, kamera, valaisinjärjestelmä, materiaali ja pursotussyvyys kautta shape.three_d_format().
  • Puhujan muistiinpanot: Liitä muistiinpanoteksti jokaiselle dialle kautta notes_slide_manager().add_notes_slide().
  • Ketjutetut kommentit:Lisää kommentteja, joissa on tekijän metatiedot ja dian sijainti.
  • Upotetut kuvat: Upota tiedostopolusta, muistipuskurista tai virtauksesta.
  • Asiakirjan ominaisuudet: Lue ja kirjoita ydin-, sovellus- ja mukautetut ominaisuudet.

Aloittaminen

Lisää kirjasto CMake:n kautta. C++17-kääntäjä vaaditaan.

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)
target_link_libraries(your_target PRIVATE aspose_slides_foss)

Luo ensimmäinen esityksesi, jossa on muoto, ja tallenna se:

#include <Aspose/Slides/Foss/presentation.h>

int main() {
    using namespace Aspose::Slides::Foss;

    Presentation prs;
    auto& slide = prs.slides()[0];
    auto& shape = slide.shapes().add_auto_shape(
        ShapeType::RECTANGLE, 50, 50, 400, 120
    );
    shape.text_frame()->set_text("Hello from Aspose.Slides FOSS!");
    prs.save("hello.pptx", SaveFormat::PPTX);
    return 0;
}

Se Presentation destruktori vapauttaa kaikki sisäiset resurssit automaattisesti, kun se poistuu laajuudesta.

Tekstin muotoiluesimerkki

#include <Aspose/Slides/Foss/presentation.h>

using namespace Aspose::Slides::Foss;

Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
    ShapeType::RECTANGLE, 50, 50, 500, 150
);
shape.text_frame()->set_text("Bold heading in corporate blue");
auto& fmt = shape.text_frame()->paragraphs()[0].portions()[0].portion_format();
fmt.set_font_height(28);
fmt.set_font_bold(NullableBool::TRUE);
fmt.fill_format().set_fill_type(FillType::SOLID);
fmt.fill_format().solid_fill_color().set_color(Color::from_argb(255, 0, 70, 127));
prs.save("formatted.pptx", SaveFormat::PPTX);

Nykyiset rajoitukset

Seuraavilla alueilla heitetään poikkeuksia tässä julkaisussa:

  • Kaaviot, SmartArt ja OLE-objektit
  • Animaatiot ja dian siirtymät
  • Vie PDF-, HTML-, SVG- tai kuvatiedostomuotoihin
  • Hyperlinkit, toimintoasetukset, VBA-makrot ja digitaaliset allekirjoitukset

Latauksen aikana havaitut tuntemattomat XML-osat säilytetään kirjaimellisesti tallennettaessa, joten muiden työkalujen tuottamat PPTX-tiedostot kulkevat turvallisesti läpi.

Katso myös