Įvadas

Aspose.Slides FOSS for C++ is now available: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx failus natūralioje C++, be priklausomybės nuo Microsoft Office ar bet kokios nuosavybinės vykdymo aplinkos.

Biblioteka sukurta kūrėjams, kuriems reikia programiškai generuoti arba manipuliuoti pristatymo failais: automatizuoti skaidrių rinkinius iš duomenų, išgauti tekstą ir metaduomenis iš įkeltų PPTX failų, kurti pristatymų pagrindu veikiančias ataskaitų srautus arba įterpti pristatymų kūrimą į darbalaukio ir serverio programas. Kadangi aspose_slides_foss sukurtas naudojant CMake, jis kompiliuojamas ir diegiamas Windows, macOS ir Linux operacinėse sistemose.

Pagrindinės funkcijos

  • Visuotinė PPTX round‑trip palaikymas: Atidaryti bet kurį .pptx failą, modifikuoti jo turinį ir išsaugoti atgal neprarandant nežinomų XML dalių, kurių biblioteka dar nesupranta.
  • Skaidrių valdymas: Pridėti, pašalinti ir peržvelgti skaidres naudojant prs.slides(); pristatymas prasideda viena tuščia skaidre po to, kai sukuriamas Presentation.
  • AutoShapes, lentelės ir jungikliai: Įterpti formas per slide.shapes().add_auto_shape(), lentelių duomenis per slide.shapes().add_table(), ir vizualinius jungiklius tarp formų per slide.shapes().add_connector().
  • Raiškiojo teksto formatavimas: Formatuoti tekstą ženklo lygiu su PortionFormat: šrifto dydis, pusjuodis, kursyvas, pabrauktas ir ARGB spalva per FillType::SOLID ir ColorFormat.
  • Užpildo tipai: Taikyti FillType::SOLID, Gradient, Pattern, arba Picture užpildo bet kokią formą.
  • Vizualiniai efektai: Išorinis šešėlis, švytėjimas, minkštas kraštas, išblyškimas, atspindys ir vidinis šešėlis per shape.effect_format().
  • 3D formatting: Nuožulnumas, kamera, apšvietimo įranga, medžiaga ir ištempimo gylis per shape.three_d_format().
  • Kalbėtojo pastabos: Prisegti pastabų tekstą prie kiekvienos skaidrės per notes_slide_manager().add_notes_slide().
  • Gijų komentarai: Pridėti komentarus su autoriaus metaduomenimis ir skaidrės pozicija.
  • Įterpti vaizdai: Įterpti iš failo kelio, atminties buferio arba srauto.
  • Dokumento savybės: Skaityti ir rašyti pagrindines, programos ir pasirinktines savybes.

Pradžia

Pridėkite biblioteką per CMake. Reikalingas C++17 kompiliatorius.

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)

Sukurkite savo pirmąją prezentaciją su forma ir išsaugokite ją:

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

Šis Presentation destruktorius atlaisvina visus vidinius išteklius automatiškai, kai jis išeina iš apimties.

Teksto formatavimo pavyzdys

#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);

Dabartiniai apribojimai

Šiose srityse šioje versijoje išmetamos išimtys:

  • Diagramos, SmartArt ir OLE objektai
  • Animacijos ir skaidrių perėjimai
  • Eksportuoti į PDF, HTML, SVG arba vaizdo formatus
  • Hipersaitai, veiksmų nustatymai, VBA makrokomandos ir skaitmeniniai parašai

Nežinomos XML dalys, aptiktos įkeliant, išsaugomos nepakitusiomis formatuojant, todėl kitų įrankių sukurtos PPTX bylos saugiai grįžta atgal.

Taip pat žiūrėkite