Į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į
.pptxfailą, 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 sukuriamasPresentation. - AutoShapes, lentelės ir jungikliai: Įterpti formas per
slide.shapes().add_auto_shape(), lentelių duomenis perslide.shapes().add_table(), ir vizualinius jungiklius tarp formų perslide.shapes().add_connector(). - Raiškiojo teksto formatavimas: Formatuoti tekstą ženklo lygiu su
PortionFormat: šrifto dydis, pusjuodis, kursyvas, pabrauktas ir ARGB spalva perFillType::SOLIDirColorFormat. - Užpildo tipai: Taikyti
FillType::SOLID,Gradient,Pattern, arbaPictureuž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.