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

Aspose.Slides FOSS pentru C++

Creați, citiți și editați prezentări PowerPoint din C++ — gratuit și open-source, fără dependență de Office.

Bibliotecă C++ open-source pentru prezentări PowerPoint

Aspose.Slides FOSS pentru C++ este o bibliotecă licențiată MIT pentru lucrul cu fișiere PowerPoint .pptx. Integrați-o prin CMake FetchContent și începeți imediat să creați, citiți și editați prezentări fără a instala Microsoft Office sau orice runtime proprietar.

Biblioteca expune un API de prezentare construit în jurul lui Presentation, Slide, ShapeCollection, TextFrame, Paragraph și Portion, modelul conceptual utilizat de PowerPoint. Adăugați și eliminați diapozitive, inserați AutoShapes, Tabele și Conectori, formatați textul la nivel de caracter cu îngroșare, cursiv, dimensiune și culoare a fontului, aplicați umpleri solide sau degrade, și adăugați efecte vizuale (umbră, strălucire, estompare, reflexie).

Semantica RAII asigură curățarea fiabilă a resurselor: destructorul Presentation eliberează automat tot starea internă. Părțile XML necunoscute întâlnite în timpul încărcării sunt păstrate literalmente la salvare, astfel încât round‑trippingul nu distruge niciodată conținutul pe care biblioteca încă nu îl înțelege. Biblioteca necesită un compilator compatibil cu C++17.

API pentru prezentări și diapozitive

  • Creează și deschide PPTX: Creați prezentări noi sau deschideți fișiere .pptx existente prin Presentation() sau Presentation(path).
  • Adăugați și eliminați diapozitive: Gestionați programatic SlideCollection cu add_clone(), remove() și remove_at().
  • AutoShapes: Inseră dreptunghiuri, elipse, linii și alte geometrii ShapeType prin add_auto_shape().
  • Tabele și Conectori: Adăugați forme de tabel structurate și linii de conector între forme prin add_connector().
  • Note de vorbitor: Citiți și scrieți note de vorbitor pentru fiecare diapozitiv prin NotesSlideManager.
  • Comentarii în lanț: Accesați firele de comentarii la nivel de diapozitiv cu get_slide_comments().

Unde poate fi utilizat Aspose.Slides FOSS

  • Generare de rapoarte: Construiți prezentări de diapozitive branduite din surse de date fără Office.
  • Automatizare de șabloane: Completați șabloanele PPTX cu conținut dinamic în fluxurile CI/CD.
  • Migrarea conținutului: Citește prezentările existente și restructurează sau re‑stilizează diapozitivele.
  • Sisteme încorporate: Procesează fișiere PPTX în medii critice din punct de vedere al performanței sau cu resurse limitate.
  • Procesare în lot: Aplică modificări de formatare uniforme în biblioteci mari de seturi de diapozitive.

Formatare text și efecte vizuale

  • Formatare la nivel de caracter: Aplicați îngroșare, cursiv, dimensiune de font și culoare obiectelor Portion individuale prin PortionFormat.
  • Umpleri solide și degrade: Setează umplerea formei la o culoare solidă sau la un degrade liniar cu mai multe opriri utilizând FillFormat și FillType.
  • Efecte de umbră și strălucire: Aplicați umbră exterioară, strălucire, estompare și reflexie oricărei forme prin EffectFormat.
  • Aliniere paragraf: Setează alinierea la stânga, centru, dreapta sau justificată pentru fiecare paragraf utilizând ParagraphFormat și set_alignment().
  • Sigur pentru round-trip: Părțile XML necunoscute sunt păstrate exact la salvarea ulterioară.

Experiența dezvoltatorului

Aspose.Slides FOSS se integrează prin CMake FetchContent, astfel încât nu este necesar să descarci manual sau să instalezi la nivel de sistem. Biblioteca se compilează din sursă alături de proiectul tău.

API-ul reflectă modelul de obiecte al PowerPoint (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), astfel încât oricine este familiar cu modelul de obiecte PowerPoint poate folosi biblioteca imediat. Este licențiată sub MIT, open‑source pe GitHub și necesită un compilator compatibil C++17.

Creează o prezentare și adaugă o formă

RAII asigură că destructorul Presentation eliberează toate resursele automat când obiectul iese din domeniu. Funcția add_auto_shape() primește un enum ShapeType, apoi poziția x/y și lățimea/înălțimea în puncte — text_frame al formei oferă acces pentru a seta conținutul textului.

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

    // Adaugă o formă automată dreptunghi
    auto& shape = slide.shapes().add_auto_shape(
        Aspose::Slides::Foss::ShapeType::RECTANGLE,
        50, 50, 400, 150
    );
    shape.text_frame()->set_text("Salut, Aspose.Slides!");

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

Formatează textul și aplică un efect de umplere

Formatarea textului funcționează la nivelul Portion — cea mai mică unitate a unui șir de caractere. Deschide fișierul salvat, navighează la prima porțiune a primului paragraf și setează proprietățile fontului direct. Umplerea formei este independentă: setează tipul de umplere la solid și atribuie o culoare.

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

Frequently Asked Questions

Ce este Aspose.Slides FOSS pentru C++?

Este o bibliotecă C++ gratuită, licențiată sub MIT, pentru crearea, citirea și editarea prezentărilor PowerPoint .pptx fără a necesita Microsoft Office.

Ce formate de fișiere sunt suportate?

PPTX este formatul suportat pentru citire/scriere. Exportul în PDF, HTML, SVG sau imagini nu este disponibil în această ediție.

Necesită Microsoft Office sau PowerPoint?

Nu. Aspose.Slides FOSS este o bibliotecă C++ independentă, fără dependență de Microsoft Office, automatizare COM sau orice runtime proprietar.

Cum îl instalez?

Folosiți CMake FetchContent pentru a integra biblioteca direct de pe GitHub. Biblioteca necesită un compilator compatibil cu C++17.

Pot aplica efecte vizuale precum umbra și strălucirea?

Da. Biblioteca suportă efectele de umbră exterioară, strălucire, estompare și reflexie pe orice obiect de tip formă prin API-ul EffectFormat.

Folosește biblioteca RAII pentru gestionarea resurselor?

Da. Destructorul Presentation eliberează automat toate stările interne, astfel că nu este necesară o curățare explicită.

Va distruge round-tripping-ul unui PPTX conținutul necunoscut?

Nu. Părțile XML necunoscute întâlnite în timpul încărcării sunt păstrate literalmente la salvare, astfel că conținutul pe care biblioteca încă nu îl înțelege nu se pierde niciodată.

Unde pot găsi codul sursă?

Biblioteca este licențiată MIT și găzduită pe GitHub. Raportările de erori și cererile de pull sunt binevenite.

  

Support and Learning Resources

 Română