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ïta i de codi obert, sense necessitat de 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 .pptx de PowerPoint. Integra-la mitjançant 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ó).

Les semàntiques RAII asseguren 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 la ida i tornada mai destrueix el contingut que la biblioteca encara no entén. La biblioteca requereix un compilador compatible amb C++20. Per a funcions addicionals, vegeu Aspose.Slides for C++ enterprise edition.

API de presentació i diapositives

  • Crea i obre PPTX: Crea noves presentacions o obre fitxers .pptx existents a través de Presentation() o Presentation(path).
  • Afegeix i elimina diapositives: Gestiona programàticament el SlideCollection amb add_empty_slide(), remove() i remove_at().
  • AutoShapes: Insereix rectangles, el·lipse, línies i altres ShapeType geometries via add_auto_shape().
  • Taules i connectors: Afegeix formes de taula estructurades i línies de connector entre formes via add_connector().
  • Notes del ponent: Llegeix i escriu notes del ponent per diapositiva a través de NotesSlideManager.
  • Comentaris en fil: Accediu als fils de comentaris iterant pres.comment_authors() i els seus comentaris associats.

On es pot utilitzar Aspose.Slides FOSS

  • Generació d’informes: Creeu 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.
  • Content migration: Llegeix les 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 de lletra i color a objectes individuals Portion mitjançant PortionFormat.
  • Omplerts sòlids i degradats: Estableix l’emplenament de la forma a un color sòlid o a un degradat lineal de múltiples parades utilitzant FillFormat i FillType.
  • Efectes d’ombra i resplendor: Aplica ombra externa, resplendor, difuminat i reflexió a qualsevol forma mitjançant EffectFormat.
  • Alineació de paràgraf: Estableix l’alineació a l’esquerra, al centre, a la dreta o justificada per paràgraf utilitzant ParagraphFormat i set_alignment().
  • Segur en viatge d’anada i tornada: Les parts desconegudes XML 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. És de llicència MIT, codi obert a GitHub, i requereix un compilador compatible amb C++20.

Crea una presentació i afegeix una forma

RAII assegura que el destructor de Presentation allibera tots els recursos automàticament quan l’objecte surt del seu abast. add_auto_shape() pren un enum 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];

    // 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)
 

Formata el text i aplica un efecte d’emplenament

El format del text funciona al nivell Portion — la unitat més petita d’una seqüència de caràcters. Obre el fitxer desat, navega fins a la primera part 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];

    // 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;
}
 

Preguntes freqüents

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++20.

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 a través de l’API EffectFormat.

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

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

El round‑tripping d’un PPTX destruirà contingut desconegut?

No. Les parts desconegudes de XML 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’extracció.

  

Suport i recursos d aprenentatge

 Català