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

Aspose.Slides FOSS pre C++

Vytvárajte, čítajte a upravujte PowerPoint prezentácie z C++ — zadarmo a open-source, bez závislosti na Office.

Open-Source C++ knižnica pre PowerPoint prezentácie

Aspose.Slides FOSS pre C++ je knižnica licencovaná pod MIT pre prácu so súbormi PowerPoint .pptx. Integrovať ju pomocou CMake FetchContent a okamžite začať vytvárať, čítať a upravovať prezentácie bez inštalácie Microsoft Office alebo akéhokoľvek proprietárneho runtime.

Knižnica poskytuje API pre prezentácie postavené okolo Presentation, Slide, ShapeCollection, TextFrame, Paragraph a Portion, konceptuálneho modelu, ktorý používa samotný PowerPoint. Pridávajte a odstraňujte snímky, vkladajte AutoShapes, tabuľky a konektory, formátujte text na úrovni znakov pomocou tučného, kurzívneho, veľkosti a farby písma, aplikujte plné alebo gradientné výplne a pridávajte vizuálne efekty (tieň, žiara, rozmazanie, odraz).

Semantika RAII zabezpečuje spoľahlivé uvoľňovanie zdrojov: destruktor Presentation uvoľní všetok vnútorný stav automaticky. Neznáme časti XML, ktoré sa objavia počas načítania, sú pri ukladaní zachované doslovne, takže pri opakovanom načítaní sa nikdy nezničí obsah, ktorý knižnica ešte nepochopí. Knižnica vyžaduje kompilátor kompatibilný s C++20. Pre ďalšie funkcie pozri Aspose.Slides for C++ enterprise edition.

API pre prezentácie a snímky

  • Vytvoriť a otvoriť PPTX: Vytvorte nové prezentácie alebo otvorte existujúce .pptx súbory prostredníctvom Presentation() alebo Presentation(path).
  • Pridať a odobrať snímky: Programovo spravovať SlideCollection pomocou add_empty_slide(), remove() a remove_at().
  • AutoShapes: Vkladajte obdĺžniky, elipsy, čiary a ďalšie ShapeType geometrie prostredníctvom add_auto_shape().
  • Tabuľky a konektory: Pridajte štruktúrované tvary tabuliek a spojovacie čiary medzi tvarmi prostredníctvom add_connector().
  • Speaker notes: Čítajte a zapisujte poznámky pre prednášajúceho na každý snímok prostredníctvom NotesSlideManager.
  • Vlákna komentárov: Prístup k vláknam komentárov iterovaním pres.comment_authors() a ich priradených komentárov.

Kde sa môže Aspose.Slides FOSS použiť

  • Generovanie správ: Vytvárajte značkové prezentácie zo zdrojov údajov bez Office.
  • Automatizácia šablón: Vyplňte PPTX šablóny dynamickým obsahom v CI/CD pipeline-och.
  • Migrácia obsahu: Prečítajte existujúce prezentácie a preštruktúrujte alebo preštýlujte snímky.
  • Zabudované systémy: Spracujte súbory PPTX v prostrediach s kritickým výkonom alebo obmedzenými zdrojmi.
  • Dávkové spracovanie: Použiť jednotné zmeny formátovania naprieč veľkými knižnicami snímok.

Formátovanie textu a vizuálne efekty

  • Character-level formatting: Použite tučné, kurzívu, veľkosť písma a farbu na jednotlivé Portion objekty prostredníctvom PortionFormat.
  • Pevné a gradientové výplne: Nastavte výplň tvaru na pevnú farbu alebo viacstupňový lineárny gradient pomocou FillFormat a FillType.
  • Tieňové a žiarivé efekty: Použite vonkajší tieň, žiarenie, rozostrenie a odraz na akýkoľvek tvar prostredníctvom EffectFormat.
  • Zarovnanie odseku: Nastavte zarovnanie vľavo, na stred, vpravo alebo do bloku pre odsek pomocou ParagraphFormat a set_alignment().
  • Bezpečné pri opakovanom spracovaní: Neznáme XML časti sú pri opätovnom uložení zachované doslovne.

Skúsenosti vývojára

Aspose.Slides FOSS integruje cez CMake FetchContent, takže nie je potrebné ručné sťahovanie ani inštalácia na úrovni systému. Knižnica sa zostavuje zo zdroja spolu s vaším projektom.

API odráža vlastný objektový model PowerPointu (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), takže každý, kto je oboznámený s objektovým modelom PowerPointu, môže knižnicu použiť okamžite. Je licencovaná pod licenciou MIT, open-source na GitHub a vyžaduje kompilátor kompatibilný s C++20.

Vytvorte prezentáciu a pridajte tvar

RAII zabezpečuje, že deštruktor Presentation uvoľní všetky zdroje automaticky, keď objekt opustí rozsah. add_auto_shape() prijíma ShapeType enum, potom pozíciu x/y a šírku/výšku v bodoch — tvaru text_frame poskytuje prístup na nastavenie textového obsahu.

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)
 

Formátovať text a použiť výplňový efekt

Formátovanie textu funguje na úrovni Portion — najmenšia jednotka reťazca znakov. Otvorte uložený súbor, prejdite na prvú časť prvého odseku a priamo nastavte vlastnosti písma. Výplň tvaru je nezávislá: nastavte typ výplne na plnú a priraďte farbu.

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

Frequently Asked Questions

Čo je Aspose.Slides FOSS pre C++?

Je to bezplatná, pod licenciou MIT C++ knižnica na vytváranie, čítanie a úpravu prezentácií PowerPoint .pptx bez potreby Microsoft Office.

Ktoré formáty súborov sú podporované?

.pptx je podporovaný formát na čítanie/zápis. Export do PDF, HTML, SVG alebo obrázkov nie je v tejto edícii k dispozícii.

Vyžaduje to Microsoft Office alebo PowerPoint?

Nie. Aspose.Slides FOSS je samostatná C++ knižnica bez závislosti na Microsoft Office, COM automatizácii ani na žiadnom proprietárnom runtime.

Ako ho nainštalovať?

Použite CMake FetchContent na integráciu knižnice priamo z GitHubu. Knižnica vyžaduje kompilátor kompatibilný s C++20.

Môžem použiť vizuálne efekty ako tieň a žiarenie?

Áno. Knižnica podporuje vonkajší tieň, žiarenie, rozmazanie a odrazové efekty na akomkoľvek tvarovom objekte prostredníctvom API EffectFormat.

Používa knižnica RAII pre správu zdrojov?

Áno. Deštruktor Presentation uvoľní všetok interný stav automaticky, takže nie je potrebné explicitné čistenie.

Spôsobí round-tripping PPTX zničenie neznámeho obsahu?

Nie. Neznáme časti XML zaznamenané počas načítania sa pri ukladaní zachovajú doslovne, takže obsah, ktorý knižnica ešte nerozpozná, sa nikdy nestratí.

Kde môžem nájsť zdrojový kód?

Knižnica je licencovaná pod MIT a je hostovaná na GitHubu. Správy o chybách a pull requesty sú vítané.

  

Support and Learning Resources

 Slovenčina