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
.pptxtiedosto, 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älkeenPresentation. - AutoShapes, taulukot ja liittimet: Lisää muotoja käyttäen
slide.shapes().add_auto_shape(), taulukkotiedot käyttäenslide.shapes().add_table(), ja visuaaliset liittimet muotojen välillä käyttäenslide.shapes().add_connector(). - Rikastekstin muotoilu: Muotoile tekstiä merkitasolla käyttäen
PortionFormat: fonttikoko, lihavointi, kursiivi, alleviivaus ja ARGB-väri käyttäenFillType::SOLIDjaColorFormat. - Täyttötyypit: Käytä
FillType::SOLID,Gradient,Pattern, taiPicturetä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.