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

Aspose.Slides FOSS per a C++

Crea, llegeix i edita presentacions PowerPoint des de C++ — gratuït i de codi obert, sense dependència d’Office.

Biblioteca C++ de codi obert per a presentacions PowerPoint

Aspose.Slides FOSS per a C++ és una biblioteca amb llicència MIT per treballar amb fitxers PowerPoint .pptx. Integra-la via CMake FetchContent i comença immediatament a crear, llegir i editar presentacions sense instal·lar Microsoft Office ni cap entorn d’execució propietari.

La biblioteca exposa una API de Presentació construïda al voltant de Presentation, Slide, ShapeCollection, TextFrame, Paragraph i Portion, el model conceptual utilitzat per PowerPoint mateix. Afegeix i elimina diapositives, insereix AutoShapes, Taules i Connectors, formata el text a nivell de caràcter amb negreta, cursiva, mida i color de la lletra, aplica emplenaments sòlids o degradats i afegeix efectes visuals (ombra, resplendor, difuminat, reflexió).

La semàntica RAII garanteix una neteja fiable dels recursos: el destructor de Presentation allibera tot l’estat intern automàticament. Les parts XML desconegudes trobades durant la càrrega es conserven literalment en desar, de manera que el round‑tripping mai destrueix contingut que la biblioteca encara no entén. La biblioteca requereix un compilador compatible amb C++17.

API de presentació i diapositives

  • Crea i obre PPTX: Crea noves presentacions o obre fitxers .pptx existents mitjançant Presentation() o Presentation(path).
  • Afegeix i elimina diapositives: Gestiona programàticament la SlideCollection amb add_clone(), remove() i remove_at().
  • AutoShapes: Insereix rectangles, el·lipses, línies i altres geometries ShapeType mitjançant add_auto_shape().
  • Taules i Connectors: Afegeix formes de taula estructurades i línies connector entre formes mitjançant add_connector().
  • Notes del presentador: Llegeix i escriu notes del presentador per diapositiva a través de NotesSlideManager.
  • Comentaris en fil: Accedeix als fils de comentaris a nivell de diapositiva amb get_slide_comments().

On es pot utilitzar Aspose.Slides FOSS

  • Generació d’informes: Crea presentacions de diapositives amb marca a partir de fonts de dades sense Office.
  • Automatització de plantilles: Omple plantilles PPTX amb contingut dinàmic en pipelines CI/CD.
  • Migració de contingut: Llegeix presentacions existents i reestructura o reestilitza les diapositives.
  • Sistemes incrustats: Processa fitxers PPTX en entorns crítics de rendiment o amb recursos limitats.
  • Processament per lots: Aplica canvis de format uniformes a grans biblioteques de presentacions.

Formatació de text i efectes visuals

  • Format a nivell de caràcter: Aplica negreta, cursiva, mida i color de la lletra a objectes Portion individuals mitjançant PortionFormat.
  • Emplenaments sòlids i degradats: Defineix l’emplenament d’una forma amb un color sòlid o un degradat lineal de múltiples punts mitjançant FillFormat i FillType.
  • Efectes d’ombra i resplendor: Aplica ombra exterior, resplendor, difuminat i reflexió a qualsevol forma mitjançant EffectFormat.
  • Alineació de paràgraf: Defineix l’alineació a l’esquerra, centre, dreta o justificació per paràgraf amb ParagraphFormat i set_alignment().
  • Segur en round‑trip: Les parts XML desconegudes es conserven literalment en tornar a desar.

Experiència del desenvolupador

Aspose.Slides FOSS s’integra via CMake FetchContent, de manera que no cal cap descàrrega manual ni instal·lació a nivell del sistema. La biblioteca es compila des del codi font juntament amb el teu projecte.

L’API reflecteix el model d’objectes propi de PowerPoint (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), de manera que qualsevol familiaritzat amb el model d’objectes de PowerPoint pot utilitzar la biblioteca immediatament. Té llicència MIT, és de codi obert a GitHub i requereix un compilador compatible amb C++17.

Crea una presentació i afegeix una forma

RAII garanteix que el destructor de Presentation allibereixi tots els recursos automàticament quan l’objecte surt del seu abast. add_auto_shape() rep un enumerat ShapeType, després la posició x/y i l’amplada/alçada en punts — el text_frame de la forma proporciona accés per establir el contingut del text.

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

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

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

Formata el text i aplica un efecte d’emplenament

El format del text funciona al nivell de Portion — la unitat més petita d’una seqüència de caràcters. Obre el fitxer desat, navega fins a la primera porció del primer paràgraf i estableix les propietats de la font directament. El farciment de la forma és independent: estableix el tipus de farciment a sòlid i assigna un color.

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

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

    // Ompliment de fons sòlid a la forma
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

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

Frequently Asked Questions

Què és Aspose.Slides FOSS per a C++?

És una biblioteca C++ gratuïta, amb llicència MIT, per crear, llegir i editar presentacions PowerPoint .pptx sense requerir Microsoft Office.

Quins formats de fitxer s’admeten?

PPTX és el format de lectura/escriptura compatible. L’exportació a PDF, HTML, SVG o imatges no està disponible en aquesta edició.

Requereix Microsoft Office o PowerPoint?

No. Aspose.Slides FOSS és una biblioteca C++ independent sense cap dependència de Microsoft Office, automatització COM o cap entorn d’execució propietari.

Com l’instal·lo?

Utilitzeu CMake FetchContent per integrar la biblioteca directament des de GitHub. La biblioteca requereix un compilador compatible amb C++17.

Puc aplicar efectes visuals com ombra i resplendor?

Sí. La biblioteca admet efectes d’ombra exterior, resplendor, difuminat i reflexió en qualsevol objecte de forma mitjançant l’API EffectFormat.

La biblioteca utilitza RAII per a la gestió de recursos?

Sí. El destructor Presentation allibera tot l’estat intern automàticament, de manera que no cal cap neteja explícita.

El procés d’anar i tornar d’un PPTX destruirà contingut desconegut?

No. Les parts XML desconegudes trobades durant la càrrega es conserven literalment en desar, de manera que el contingut que la biblioteca encara no entén mai no es perd.

On puc trobar el codi font?

La biblioteca té llicència MIT i està allotjada a GitHub. Es donen la benvinguda els informes d’errors i les sol·licituds d’integració.

  

Suport i recursos d aprenentatge

 Català