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

Aspose.Slides FOSS til C++

Opret, læs og rediger PowerPoint-præsentationer fra C++ — gratis og open-source, ingen Office-afhængighed påkrævet.

Open-Source C++-bibliotek til PowerPoint-præsentationer

Aspose.Slides FOSS for C++ er et MIT-licenseret bibliotek til at arbejde med PowerPoint .pptx-filer. Integrer det via CMake FetchContent og begynd straks at oprette, læse og redigere præsentationer uden at installere Microsoft Office eller nogen proprietær runtime.

Biblioteket eksponerer et Presentation API bygget omkring Presentation, Slide, ShapeCollection, TextFrame, Paragraph og Portion, den konceptuelle model, som PowerPoint selv bruger. Tilføj og fjern slides, indsæt AutoShapes, tabeller og forbindelser, formater tekst på tegnniveau med fed, kursiv, skriftstørrelse og farve, anvend solide eller gradientfyldninger, og tilføj visuelle effekter (skygge, glød, sløring, refleksion).

RAII-semantik sikrer pålidelig ressourceoprydning: den Presentation destruktor frigiver al intern tilstand automatisk. Ukendte XML dele, der mødes under indlæsning, bevares ordret ved lagring, så round-tripping aldrig ødelægger indhold, som biblioteket endnu ikke forstår. Biblioteket kræver en C++20-kompatibel compiler. For yderligere funktioner, se Aspose.Slides for C++ enterprise edition.

Præsentations- og slide-API

  • Opret og åbn PPTX: Opret nye præsentationer eller åbn eksisterende .pptx filer via Presentation() eller Presentation(path).
  • Tilføj og fjern dias: Programmatisk håndter SlideCollection med add_empty_slide(), remove(), og remove_at().
  • AutoShapes: Indsæt rektangler, ellipser, linjer og andre ShapeType geometrier via add_auto_shape().
  • Tabeller og forbindelser: Tilføj strukturerede tabelformer og forbindelseslinjer mellem former via add_connector().
  • Talernoter: Læs og skriv talernoter pr. slide gennem NotesSlideManager.
  • Trådede kommentarer: Få adgang til kommentartråde ved at iterere pres.comment_authors() og deres tilknyttede kommentarer.

Hvor Aspose.Slides FOSS kan bruges

  • Rapportgenerering: Byg mærkede slide‑decks fra datakilder uden Office.
  • Skabelonautomatisering: Udfyld PPTX-skabeloner med dynamisk indhold i CI/CD-pipelines.
  • Indholdsmigrering: Læs eksisterende præsentationer og omstrukturér eller omstil dias.
  • Indlejrede systemer: Behandl PPTX-filer i ydeevnekritiske eller ressourcebegrænsede miljøer.
  • Batchbehandling: Anvend ensartede formateringsændringer på store slide‑deck‑biblioteker.

Tekstformatering og visuelle effekter

  • Tegnsniveauformatering: Anvend fed, kursiv, skriftstørrelse og farve på individuelle Portion objekter via PortionFormat.
  • Ensfarvet og gradientfyld: Indstil formens fyld til en ensfarvet farve eller en lineær gradient med flere stop ved hjælp af FillFormat og FillType.
  • Skygge- og glød-effekter: Anvend ydre skygge, glød, sløring og refleksion på enhver form via EffectFormat.
  • Afsnitsjustering: Indstil venstre, centreret, højre eller blokjustering pr. afsnit ved hjælp af ParagraphFormat og set_alignment().
  • Round-trip safe: Ukendte XML-dele bevares ordret ved genlagring.

Udvikleroplevelse

Aspose.Slides FOSS integreres via CMake FetchContent, så ingen manuel download eller systemomfattende installation er nødvendig. Biblioteket bygges fra kilde sammen med dit projekt.

API’en spejler PowerPoints egen objektmodel (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), så enhver, der er bekendt med PowerPoint-objektmodellen, kan bruge biblioteket med det samme. Den er MIT-licenseret, open source på GitHub og kræver en C++20-kompatibel compiler.

Opret en præsentation og tilføj en form

RAII sikrer, at Presentation destruktoren frigiver alle ressourcer automatisk, når objektet går ud af scope. add_auto_shape() tager en ShapeType enum, derefter x/y‑position og bredde/højde i point — shape’s text_frame giver adgang til at sætte tekstindhold.

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 anvend en udfyldningseffekt

Tekstformatering fungerer på Portion-niveau — den mindste enhed af en sekvens af tegn. Åbn den gemte fil, naviger til den første del af det første afsnit, og indstil skriftegenskaber direkte. Formfyldning er uafhængig: indstil fyldtypen til solid og tildel en farve.

#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 stillede spørgsmål

Hvad er Aspose.Slides FOSS for C++?

Det er et gratis, MIT-licenseret C++-bibliotek til at oprette, læse og redigere PowerPoint .pptx-præsentationer uden at kræve Microsoft Office.

Hvilke filformater understøttes?

.pptx er det understøttede læse/skriv-format. Eksport til PDF, HTML, SVG eller billeder er ikke tilgængelig i denne udgave.

Kræver det Microsoft Office eller PowerPoint?

Nej. Aspose.Slides FOSS er et selvstændigt C++-bibliotek uden afhængighed af Microsoft Office, COM-automatisering eller nogen proprietær runtime.

Hvordan installerer jeg det?

Brug CMake FetchContent til at integrere biblioteket direkte fra GitHub. Biblioteket kræver en C++20-kompatibel compiler.

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

Ja. Biblioteket understøtter ydre skygge, glød, sløring og refleksionseffekter på ethvert formobjekt via EffectFormat API’en.

Bruger biblioteket RAII til ressourcehåndtering?

Ja. Presentation-destruktoren frigiver al intern tilstand automatisk, så ingen eksplicit oprydning er nødvendig.

Vil round-tripping af en PPTX ødelægge ukendt indhold?

Nej. Ukendte XML-dele, der mødes under indlæsning, bevares ordret ved lagring, så indhold, som biblioteket endnu ikke forstår, aldrig går tabt.

Hvor kan jeg finde kildekoden?

Biblioteket er MIT-licenseret og hostet på GitHub. Fejlrapporter og pull requests er velkomne.

  

Support og læringsressourcer

 Dansk