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

Aspose.Slides FOSS för C++

Skapa, läs och redigera PowerPoint-presentationer från C++ — gratis och öppen källkod, ingen Office-beroende krävs.

Öppen källkod C++-bibliotek för PowerPoint-presentationer

Aspose.Slides FOSS för C++ är ett MIT-licensierat bibliotek för att arbeta med PowerPoint .pptx-filer. Integrera det via CMake FetchContent och börja omedelbart skapa, läsa och redigera presentationer utan att installera Microsoft Office eller någon proprietär runtime.

Biblioteket exponerar ett Presentation‑API byggt kring Presentation, Slide, ShapeCollection, TextFrame, Paragraph och Portion, den konceptuella modell som PowerPoint själv använder. Lägg till och ta bort bilder, infoga AutoShapes, tabeller och anslutningar, formatera text på teckennivå med fet, kursiv, teckenstorlek och färg, applicera solida eller gradientfyllningar och lägg till visuella effekter (skugga, glöd, oskärpa, reflektion).

RAII‑semantiken säkerställer pålitlig resurshantering: Presentation‑destruktorn frigör all intern status automatiskt. Okända XML‑delar som påträffas under inläsning bevaras ordagrant vid sparning, så att round‑tripping aldrig förstör innehåll som biblioteket ännu inte förstår. Biblioteket kräver en C++17‑kompatibel kompilator.

Presentation- och bild-API

  • Skapa och öppna PPTX: Skapa nya presentationer eller öppna befintliga .pptx‑filer via Presentation() eller Presentation(path).
  • Lägg till och ta bort bilder: Hantera programatiskt SlideCollection med add_clone(), remove() och remove_at().
  • AutoShapes: Infoga rektanglar, ellipser, linjer och andra ShapeType‑geometrier via add_auto_shape().
  • Tabeller och anslutningar: Lägg till strukturerade tabellformer och anslutningslinjer mellan former via add_connector().
  • Talarnoteringar: Läs och skriv talarnoteringar per bild via NotesSlideManager.
  • Trådade kommentarer: Åtkomst till kommentars‑trådar på bildnivå med get_slide_comments().

Var Aspose.Slides FOSS kan användas

  • Rapportgenerering: Skapa varumärkta bildspel från datakällor utan Office.
  • Mallautomatisering: Fyll PPTX‑mallar med dynamiskt innehåll i CI/CD‑pipelines.
  • Innehållsmigrering: Läs befintliga presentationer och omstrukturera eller omstyla bilder.
  • Inbäddade system: Bearbeta PPTX-filer i prestandakritiska eller resursbegränsade miljöer.
  • Batchbearbetning: Tillämpa enhetliga formateringsändringar över stora bildspelsbibliotek.

Textformatering och visuella effekter

  • Formatering på teckennivå: Applicera fetstil, kursiv, teckenstorlek och färg på enskilda Portion‑objekt via PortionFormat.
  • Fyllningar med solid färg och gradient: Ställ in formens fyllning till en solid färg eller en linjär gradient med flera stopp med hjälp av FillFormat och FillType.
  • Skugga‑ och glödeffekter: Applicera yttre skugga, glöd, oskärpa och reflektion på valfri form via EffectFormat.
  • Styckejustering: Ställ in vänster, centrerad, höger eller justerad justering per stycke med ParagraphFormat och set_alignment().
  • Rundresesäker: Okända XML‑delar bevaras ordagrant vid återlagring.

Utvecklarupplevelse

Aspose.Slides FOSS integreras via CMake FetchContent, så ingen manuell nedladdning eller systemomfattande installation behövs. Biblioteket byggs från källkod tillsammans med ditt projekt.

API:et speglar PowerPoints eget objektmodell (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), så alla som är bekanta med PowerPoint-objektmodellen kan använda biblioteket omedelbart. Det är MIT-licensierat, öppen källkod på GitHub, och kräver en C++17-kompatibel kompilator.

Skapa en presentation och lägg till en form

RAII säkerställer att Presentation‑destruktorn frigör alla resurser automatiskt när objektet går ur scope. add_auto_shape() tar en ShapeType‑enum, sedan x/y‑position och bredd/höjd i punkter — shape:ns text_frame ger åtkomst för att sätta textinnehåll.

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];

    // Lägg till en rektangel AutoShape
    auto& shape = slide.shapes().add_auto_shape(
        Aspose::Slides::Foss::ShapeType::RECTANGLE,
        50, 50, 400, 150
    );
    shape.text_frame()->set_text("Hej, Aspose.Slides!");

    prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
    return 0;
}

Formatera text och tillämpa en fyllningseffekt

Textformatering fungerar på Portion-nivå — den minsta enheten i en sekvens av tecken. Öppna den sparade filen, navigera till den första portionen i det första stycket och ställ in teckensnittsegenskaperna direkt. Formfyllning är oberoende: sätt fyllningstypen till solid och tilldela en färg.

#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];

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

    // Solid bakgrundsfyllning på formen
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

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

Vanliga Frågor

Vad är Aspose.Slides FOSS för C++?

Det är ett gratis, MIT-licensierat C++-bibliotek för att skapa, läsa och redigera PowerPoint .pptx-presentationer utan att kräva Microsoft Office.

Vilka filformat stöds?

PPTX är det stödjade läs/skriv-formatet. Export till PDF, HTML, SVG eller bilder är inte tillgängligt i den här utgåvan.

Kräver det Microsoft Office eller PowerPoint?

Nej. Aspose.Slides FOSS är ett fristående C++-bibliotek utan beroende av Microsoft Office, COM-automatisering eller någon proprietär runtime.

Hur installerar jag det?

Använd CMake FetchContent för att integrera biblioteket direkt från GitHub. Biblioteket kräver en C++17-kompatibel kompilator.

Kan jag tillämpa visuella effekter som skugga och glöd?

Ja. Biblioteket stöder yttre skugga, glöd, oskärpa och reflektionseffekter på alla formobjekt via EffectFormat API.

Använder biblioteket RAII för resurshantering?

Ja. Presentation-destruktorn frigör all intern status automatiskt, så ingen explicit städning behövs.

Kommer round‑tripping av en PPTX att förstöra okänt innehåll?

Nej. Okända XML-delar som påträffas under inläsning bevaras ordagrant vid sparning, så innehåll som biblioteket ännu inte förstår går aldrig förlorat.

Var kan jag hitta källkoden?

Biblioteket är MIT-licensierat och finns på GitHub. Felrapporter och pull‑requests är välkomna.

  

Stöd och Lärande Resurser

 Svenska