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

Aspose.Slides FOSS for C++

Crea, leggi e modifica presentazioni PowerPoint da C++ — gratuito e open‑source, senza dipendenza da Office.

Libreria C++ Open-Source per presentazioni PowerPoint

Aspose.Slides FOSS for C++ è una libreria con licenza MIT per lavorare con file PowerPoint .pptx. Integrala tramite CMake FetchContent e inizia subito a creare, leggere e modificare presentazioni senza installare Microsoft Office o alcun runtime proprietario.

La libreria espone un Presentation API costruito attorno a Presentation, Slide, ShapeCollection, TextFrame, Paragraph e Portion, il modello concettuale usato da PowerPoint stesso. Aggiungi e rimuovi diapositive, inserisci AutoShapes, Tables e Connectors, formatta il testo a livello di carattere con grassetto, corsivo, dimensione e colore del carattere, applica riempimenti solidi o sfumati e aggiungi effetti visivi (shadow, glow, blur, reflection).

La semantica RAII garantisce una pulizia affidabile delle risorse: il Presentation destructor rilascia automaticamente tutto lo stato interno. Le parti XML sconosciute incontrate durante il caricamento vengono preservate testualmente al salvataggio, così il round‑tripping non distrugge mai contenuti che la libreria non comprende ancora. La libreria richiede un compilatore compatibile con C++20. Per funzionalità aggiuntive, vedi Aspose.Slides for C++ enterprise edition.

API di presentazione e diapositive

  • Creare e aprire PPTX: Creare nuove presentazioni o aprirsi file .pptx esistenti tramite Presentation() o Presentation(path).
  • ** Aggiungere e rimuovere le diapositive:** Gestire programmaticamente SlideCollection con add_empty_slide(), remove() e remove_at().
  • AutoShapes: Inserire rettangoli, ellissi, linee e altre geometrie ShapeType tramite add_auto_shape().
  • Tabelle e connettori: Aggiungere forme di tavolo strutturate e linee di collegamento tra le forme tramite add_connector().
  • Notazione dell’oratore: Leggere e scrivere le note per ogni diapositiva attraverso NotesSlideManager.
  • Commenti dei thread: Accedere ai thread di commento iterando pres.comment_authors() e i loro commenti associati.

Dove Aspose.Slides FOSS può essere utilizzato

  • ** Generazione di rapporti:** Creazioni di schede a marchio da fonti dati senza Office.
  • Automazione dei modelli: Riempire i modelsi PPTX con contenuti dinamici nelle pipeline CI/CD.
  • Migrazione dei contenuti: Leggere le presentazioni esistenti e ristrutturare o ridisegnare le diapositive.
  • Sistemi embedded: Processare file PPTX in ambienti a prestazioni critiche o con risorse limitate.
  • L’elaborazione batch: Applicare modifiche di formattazione uniformi in tutte le biblioteche di slide.

Formattazione del testo e effetti visivi

  • Formatto a livello di carattere: Applicare grassetto, corsivo, dimensione del font e colore agli oggetti Portion individuali tramite PortionFormat.
  • ** Riempimenti solidi e gradienti:** Imposta il riempimento a forma di colore solido o un gradinale lineare multi-stop utilizzando FillFormat e FillType.
  • ** Effetti di ombra e luce:** Applicare l’ombra esterna, la luce, il sfoco e la riflessione a qualsiasi forma tramite EffectFormat.
  • ** Allineamento dei paragrafi:** Imposta a sinistra, al centro o a destra oppure giustifica l’allineamiento per paragrafo usando ParagraphFormat e set_alignment().
  • Cifre di sicurezza per il viaggio a turno: Le parti XML sconosciute vengono conservate letteralmente al ri-salvo.

Esperienza dello sviluppatore

Aspose.Slides FOSS si integra tramite CMake FetchContent, quindi non è necessario scaricare manualmente né installare a livello di sistema. La libreria viene compilata dal sorgente insieme al tuo progetto.

Il API rispecchia il modello a oggetti di PowerPoint (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), quindi chiunque conosca il modello a oggetti di PowerPoint può utilizzare immediatamente la libreria. È rilasciata con licenza MIT, è open-source su GitHub e richiede un compilatore compatibile con C++20.

Crea una presentazione e aggiungi un’immagine

RAII assicura che il distruttore Presentation rilasci automaticamente tutte le risorse quando l’oggetto esce dal campo di applicazione. add_auto_shape() prende un enum ShapeType, quindi x/y posizione e larghezza / altezza in punti la forma text_frame fornisce accesso al contenuto del testo impostato.

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() ```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)

Formattare il testo e applicare un effetto di riempimento

La formattazione del testo funziona a livello Portion l’unità più piccola di una serie di caratteri. Aprire il file salvato, navigare alla prima parte del primo paragrafo e impostare direttamente le proprietà del font. Il formattamento della forma è indipendente: imposta il tipo di riempimento su solido e assegna un colore.

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

namespace asf = Aspose::Slides::Foss;

int main() ```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;
}

Domande Frequenti

Che cos’è Aspose.Slides FOSS per C++?

È una libreria C++ gratuita con licenza MIT per creare, leggere e modificare presentazioni PowerPoint .pptx senza richiedere Microsoft Office.

Quali formati di file sono supportati?

.pptx è il formato di lettura/scrittura supportato. L’esportazione in PDF, HTML, SVG o immagini non è disponibile in questa edizione.

Richiede Microsoft Office o PowerPoint?

No. Aspose.Slides FOSS è una libreria C++ autonoma senza dipendenza da Microsoft Office, automazione COM o qualsiasi tempo di esecuzione proprietario.

Come lo instalo?

Utilizzare CMake FetchContent per integrare la libreria direttamente da GitHub. La biblioteca richiede un compilatore compatibile con C++20.

Posso applicare effetti visivi come ombra e luce?

La libreria supporta effetti di ombra esterna, luce, sfocatura e riflessione su qualsiasi oggetto a forma tramite l’API EffectFormat .

La biblioteca utilizza il RAII per la gestione delle risorse?

Sì. Il distruttore Presentation rilascia tutto lo stato interno automaticamente, quindi non è necessaria alcuna pulizia esplicita.

Il giro di un PPTX distruggerà contenuti sconosciuti?

No. Le parti XML sconosciute incontrate durante il caricamento vengono conservate letteralmente in save, quindi i contenuti che la biblioteca non comprende ancora non si perdono mai.

Dove posso trovare il codice sorgente?

La libreria è concessa in licenza dal MIT e ospitata su GitHub. I report di bug e le richieste di pull sono benvenute.

  

Risorse di Supporto e Apprendimento

 Italiano