Introduksjon
Aspose.Slides FOSS for C++ is now available: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx filer i native C++, uten avhengighet til Microsoft Office eller noe proprietært runtime.
Biblioteket er designet for utviklere som trenger å generere eller manipulere presentasjonsfiler programmatisk: automatisere lysbildeserier fra data, trekke ut tekst og metadata fra opplastede PPTX-filer, bygge rapporteringspipelines basert på presentasjoner, eller integrere opprettelse av presentasjoner i skrivebords- og serverapplikasjoner. Fordi aspose_slides_foss er bygget med CMake, det kompilerer og distribueres på Windows, macOS og Linux.
Nøkkelfunksjoner
- Full round-trip PPTX-støtte: Åpne hvilken som helst
.pptxfil, endre innholdet, og lagre den igjen uten å miste ukjente XML-deler som biblioteket ennå ikke forstår. - Lysbildehåndtering: Legg til, fjern og iterer lysbilder ved hjelp av
prs.slides(); presentasjonen starter med ett tomt lysbilde etter å ha konstruert enPresentation. - AutoShapes, Tabeller og Tilkoblinger: Sett inn former via
slide.shapes().add_auto_shape(), tabulære data viaslide.shapes().add_table(), og visuelle tilkoblinger mellom former viaslide.shapes().add_connector(). - Rik tekstformatering: Formater tekst på tegnnivå med
PortionFormat: skriftstørrelse, fet, kursiv, understrekning og ARGB-farge viaFillType::SOLIDogColorFormat. - Fylltyper: Bruk
FillType::SOLID,Gradient,Pattern, ellerPicturefyller til enhver form. - Visuelle effekter: Ytre skygge, glød, myk kant, uskarphet, refleksjon og indre skygge via
shape.effect_format(). - 3D formatting: Avfasing, kamera, lysrigg, materiale og ekstrusjonsdybde via
shape.three_d_format(). - Talernoter: Legg ved notattekst til hvert lysbilde via
notes_slide_manager().add_notes_slide(). - Trådede kommentarer: Legg til kommentarer med forfattermetadata og lysbildeposisjon.
- Innebygde bilder: Innebygg fra filsti, minnebuffer eller strøm.
- Dokumentegenskaper: Les og skriv kjerne-, app- og egendefinerte egenskaper.
Kom i gang
Legg til biblioteket via CMake. En C++17-kompilator er påkrevd.
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)
Opprett din første presentasjon med en figur og lagre den:
#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;
}
Den Presentation destruktøren frigjør alle interne ressurser automatisk når den går ut av omfanget.
Eksempel på tekstformatering
#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);
Nåværende begrensninger
Følgende områder kaster unntak i denne utgivelsen:
- Diagrammer, SmartArt og OLE-objekter
- Animasjoner og lysbildeoverganger
- Eksporter til PDF, HTML, SVG eller bildeformater
- Hyperlenker, handlingsinnstillinger, VBA-makroer og digitale signaturer
Ukjente XML-deler som oppdages under lasting, beholdes ordrett ved lagring, slik at PPTX-filer laget av andre verktøy kan runde‑trippe trygt.