1. Produkter
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for C++

Aspose.Slides FOSS for C++

Lag, les og rediger PowerPoint-presentasjoner fra C++ — gratis og open-source, ingen Office-avhengighet kreves.

Open-Source C++-bibliotek for PowerPoint-presentasjoner

Aspose.Slides FOSS for C++ er et MIT-lisensiert bibliotek for å jobbe med PowerPoint .pptx-filer. Integrer det via CMake FetchContent og begynn umiddelbart å lage, lese og redigere presentasjoner uten å installere Microsoft Office eller noen proprietær kjøretidsmiljø.

Biblioteket eksponerer et Presentation‑API bygget rundt Presentation, Slide, ShapeCollection, TextFrame, Paragraph og Portion, den konseptuelle modellen som PowerPoint selv bruker. Legg til og fjern lysbilder, sett inn AutoShapes, Tables og Connectors, formater tekst på tegnnivå med fet, kursiv, skriftstørrelse og farge, bruk solide eller gradientfylle, og legg til visuelle effekter (skygge, glød, uskarphet, refleksjon).

RAII-semantikk sikrer pålitelig ressursopprydding: Presentation-destruktøren frigjør all intern tilstand automatisk. Ukjente XML-deler som oppdages under lasting, blir bevart ordrett ved lagring, så round-tripping aldri ødelegger innhold som biblioteket ennå ikke forstår. Biblioteket krever en C++20-kompatibel kompilator. For ekstra funksjoner, se Aspose.Slides for C++ enterprise edition.

Presentasjons- og lysbilde-API

  • Opprett og åpne PPTX: Opprett nye presentasjoner eller åpne eksisterende .pptx-filer via Presentation() eller Presentation(path).
  • Legg til og fjern lysbilder: Programmatisk administrer SlideCollection med add_empty_slide(), remove() og remove_at().
  • AutoShapes: Sett inn rektangler, ellipser, linjer og andre ShapeType geometriske former via add_auto_shape().
  • Tabeller og koblinger: Legg til strukturerte tabellformer og koblingslinjer mellom former via add_connector().
  • Speaker notes: Les og skriv per lysbilde talernotater gjennom NotesSlideManager.
  • Trådede kommentarer: Få tilgang til kommentartråder ved å iterere pres.comment_authors() og deres tilknyttede kommentarer.

Hvor Aspose.Slides FOSS kan brukes

  • Rapportgenerering: Bygg merkevaremerkede lysbildesett fra datakilder uten Office.
  • Maler automatisering: Fyll PPTX-maler med dynamisk innhold i CI/CD-pipelines.
  • Innholdsmigrering: Les eksisterende presentasjoner og omstrukturere eller endre stil på lysbilder.
  • Innebygde systemer: Behandle PPTX-filer i ytelseskritiske eller ressursbegrensede miljøer.
  • Batch processing: Påfør ensartede formateringsendringer på store lysbildebiblioteker.

Tekstformatering og visuelle effekter

  • Tegnnivåformatering: Bruk fet, kursiv, skriftstørrelse og farge på individuelle Portion objekter via PortionFormat.
  • Faste og gradientfyll: Angi formfyll til en solid farge eller en flertrinns lineær gradient ved å bruke FillFormat og FillType.
  • Skygge- og glødeffekter: Påfør ytre skygge, glød, uskarphet og refleksjon på enhver form via EffectFormat.
  • Avsnittsjustering: Angi venstre, senter, høyre eller blokkjustering per avsnitt ved hjelp av ParagraphFormat og set_alignment().
  • Round-trip safe: Ukjente XML deler blir bevart ordrett ved gjenlagring.

Utvikleropplevelse

Aspose.Slides FOSS integreres via CMake FetchContent, så ingen manuell nedlasting eller systemomfattende installasjon er nødvendig. Biblioteket bygges fra kilde sammen med prosjektet ditt.

API-et speiler PowerPoints egen objektmodell (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), så alle som er kjent med PowerPoint-objektmodellen kan bruke biblioteket umiddelbart. Det er MIT-lisensiert, åpen kilde på GitHub, og krever en C++20‑kompatibel kompilator.

Opprett en presentasjon og legg til en figur

RAII sikrer at Presentation-destruktøren frigjør alle ressurser automatisk når objektet går ut av omfanget. add_auto_shape() tar en ShapeType enum, deretter x/y‑posisjon og bredde/høyde i punkter — shape’s text_frame gir tilgang til å sette tekstinnhold.

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)
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_collection.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>
#include <Aspose/Slides/Foss/text_frame.h>

int main() {
    Aspose::Slides::Foss::Presentation prs;
    auto& slide = prs.slides()[0];

    // Add a rectangle AutoShape
    auto& shape = slide.shapes().add_auto_shape(
        Aspose::Slides::Foss::ShapeType::RECTANGLE,
        50, 50, 400, 150
    );
    shape.text_frame()->set_text("Hello, Aspose.Slides!");

    prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
    return 0;
}
 ```cmake
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)
 

Formater tekst og påfør en fyll‑effekt

Tekstformatering fungerer på Portion-nivå — den minste enheten i en sekvens av tegn. Åpne den lagrede filen, naviger til den første delen av det første avsnittet, og sett skriftegenskaper direkte. Formfyll er uavhengig: sett fylltypen til solid og tilordne en farge.

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

namespace asf = Aspose::Slides::Foss;

int main() {
    asf::Presentation prs("output.pptx");
    auto& shape = prs.slides()[0].shapes()[0];
    auto& portion = shape.text_frame()
        ->paragraphs()[0].portions()[0];

    // Bold, 18pt text
    portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
    portion.portion_format().set_font_height(18);

    // Solid background fill on the shape
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

    prs.save("formatted.pptx", asf::SaveFormat::PPTX);
    return 0;
}
 ```cpp
#include <Aspose/Slides/Foss/presentation.h>

namespace asf = Aspose::Slides::Foss;

int main() {
    asf::Presentation prs("output.pptx");
    auto& shape = prs.slides()[0].shapes()[0];
    auto& portion = shape.text_frame()
        ->paragraphs()[0].portions()[0];

    // Bold, 18pt text
    portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
    portion.portion_format().set_font_height(18);

    // Solid background fill on the shape
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

    prs.save("formatted.pptx", asf::SaveFormat::PPTX);
    return 0;
}
 

Ofte stilte spørsmål

Hva er Aspose.Slides FOSS for C++?

Det er et gratis, MIT-lisensiert C++-bibliotek for å lage, lese og redigere PowerPoint .pptx-presentasjoner uten å kreve Microsoft Office.

Hvilke filformater støttes?

.pptx er det støttede lese-/skrivformatet. Eksport til PDF, HTML, SVG eller bilder er ikke tilgjengelig i denne utgaven.

Krever det Microsoft Office eller PowerPoint?

Nei. Aspose.Slides FOSS er et frittstående C++-bibliotek uten avhengighet til Microsoft Office, COM-automatisering eller noen proprietær kjøretidsmiljø.

Hvordan installerer jeg det?

Bruk CMake FetchContent for å integrere biblioteket direkte fra GitHub. Biblioteket krever en C++20-kompatibel kompilator.

Kan jeg bruke visuelle effekter som skygge og glød?

Ja. Biblioteket støtter ytre skygge, glød, uskarphet og refleksjonseffekter på ethvert formobjekt via EffectFormat API.

Bruker biblioteket RAII for ressursstyring?

Ja. Presentation-destruktøren frigjør all intern tilstand automatisk, så ingen eksplisitt opprydding er nødvendig.

Vil round‑tripping av en PPTX ødelegge ukjent innhold?

Nei. Ukjente XML-deler som blir møtt under lasting, blir bevart ordrett ved lagring, så innhold som biblioteket ennå ikke forstår, går aldri tapt.

Hvor kan jeg finne kildekoden?

Biblioteket er lisensiert under MIT og er vert på GitHub. Feilrapporter og pull‑requests er velkomne.

  

Støtte og læringsressurser

 Norsk