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

Aspose.Slides FOSS pro C++

Vytvářejte, čtěte a upravujte prezentace PowerPoint z C++ — zdarma a open-source, bez závislosti na Office.

Open-Source C++ knihovna pro prezentace PowerPoint

Aspose.Slides FOSS pro C++ je knihovna licencovaná pod MIT pro práci se soubory PowerPoint .pptx. Integrujte ji pomocí CMake FetchContent a okamžitě začněte vytvářet, číst a upravovat prezentace bez instalace Microsoft Office nebo jakéhokoli proprietárního runtime.

Knihovna poskytuje API pro prezentace postavené kolem Presentation, Slide, ShapeCollection, TextFrame, Paragraph a Portion, což je konceptuální model používaný samotným PowerPointem. Přidávejte a odebírejte snímky, vkládejte AutoShapes, Tabulky a Spojnice, formátujte text na úrovni znaků pomocí tučného, kurzívního, velikosti písma a barvy, aplikujte plné nebo gradientní výplně a přidávejte vizuální efekty (stín, záře, rozostření, odraz).

Semantika RAII zajišťuje spolehlivé uvolňování prostředků: destruktor Presentation automaticky uvolní celý vnitřní stav. Neznámé XML části, které se objeví během načítání, jsou při uložení zachovány beze změny, takže při round‑trippingu se nikdy nepoškodí obsah, který knihovna ještě nezná. Knihovna vyžaduje kompilátor kompatibilní s C++17.

API pro prezentace a snímky

  • Vytvořit a otevřít PPTX: Vytvořte nové prezentace nebo otevřete existující soubory .pptx pomocí Presentation() nebo Presentation(path).
  • Přidávat a odebírat snímky: Programově spravujte SlideCollection pomocí add_clone(), remove() a remove_at().
  • AutoShapes: Vkládejte obdélníky, elipsy, čáry a další geometrie ShapeType pomocí add_auto_shape().
  • Tabulky a Spojnice: Přidejte strukturované tvary tabulek a spojnicové čáry mezi tvary pomocí add_connector().
  • Poznámky přednášejícího: Čtěte a zapisujte poznámky k jednotlivým snímkům pomocí NotesSlideManager.
  • Vlákna komentářů: Přistupujte k vláknům komentářů na úrovni snímku pomocí get_slide_comments().

Kde lze použít Aspose.Slides FOSS

  • Generování reportů: Vytvářejte značkové sady snímků z datových zdrojů bez Office.
  • Automatizace šablon: Vyplňujte PPTX šablony dynamickým obsahem v CI/CD pipelinech.
  • Migrace obsahu: Čtěte existující prezentace a přestrukturalizujte nebo přeformátujte snímky.
  • Vestavěné systémy: Zpracovávejte soubory PPTX v prostředích s kritickými požadavky na výkon nebo omezenými zdroji.
  • Dávkové zpracování: Použijte jednotné změny formátování napříč velkými knihovnami sad snímků.

Formátování textu a vizuální efekty

  • Formátování na úrovni znaků: Aplikujte tučné, kurzívní, velikost písma a barvu na jednotlivé objekty Portion pomocí PortionFormat.
  • Plné a gradientní výplně: Nastavte výplň tvaru na plnou barvu nebo lineární gradient s více zastávkami pomocí FillFormat a FillType.
  • Stín a efekty záře: Aplikujte vnější stín, záři, rozostření a odraz na libovolný tvar pomocí EffectFormat.
  • Zarovnání odstavců: Nastavte zarovnání vlevo, na střed, vpravo nebo do bloku pro každý odstavec pomocí ParagraphFormat a set_alignment().
  • Bezpečné při round‑tripu: Neznámé XML části jsou při opětovném uložení zachovány beze změny.

Zkušenost vývojářů

Aspose.Slides FOSS se integruje pomocí CMake FetchContent, takže není potřeba ruční stahování ani instalace na úrovni systému. Knihovna se sestavuje ze zdrojových kódů vedle vašeho projektu.

API odráží objektový model PowerPointu (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), takže kdokoli, kdo je obeznámen s objektovým modelem PowerPointu, může knihovnu použít okamžitě. Je licencována pod MIT, je open-source na GitHubu a vyžaduje kompilátor kompatibilní s C++17.

Vytvořte prezentaci a přidejte tvar

RAII zajišťuje, že destruktor Presentation uvolní všechny prostředky automaticky, když objekt opustí rozsah. add_auto_shape() přijímá výčtový typ ShapeType, poté x/y pozici a šířku/výšku v bodech — text_frame tvaru poskytuje přístup k nastavení 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];

    // Přidejte obdélníkový AutoShape
    auto& shape = slide.shapes().add_auto_shape(
        Aspose::Slides::Foss::ShapeType::RECTANGLE,
        50, 50, 400, 150
    );
    shape.text_frame()->set_text("Ahoj, Aspose.Slides!");

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

Formátujte text a použijte výplňový efekt

Formátování textu funguje na úrovni Portion — nejmenší jednotky řetězce znaků. Otevřete uložený soubor, přejděte na první část prvního odstavce a nastavte vlastnosti písma přímo. Výplň tvaru je nezávislá: nastavte typ výplně na plnou a přiřaďte barvu.

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

    // Tučné, 18pt text
    portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
    portion.portion_format().set_font_height(18);

    // Pevné vyplnění pozadí na tvaru
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

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

Často kladené dotazy

Co je Aspose.Slides FOSS pro C++?

Jedná se o bezplatnou knihovnu C++ s licencí MIT pro vytváření, čtení a úpravu prezentací PowerPoint .pptx bez nutnosti Microsoft Office.

Které souborové formáty jsou podporovány?

PPTX je podporovaný formát pro čtení i zápis. Export do PDF, HTML, SVG nebo obrázků není v této edici k dispozici.

Vyžaduje to Microsoft Office nebo PowerPoint?

Ne. Aspose.Slides FOSS je samostatná knihovna C++ bez závislosti na Microsoft Office, COM automatizaci ani na žádném proprietárním runtime.

Jak to nainstaluji?

Použijte CMake FetchContent k integraci knihovny přímo z GitHubu. Knihovna vyžaduje kompilátor kompatibilní s C++17.

Mohu použít vizuální efekty jako stín a záři?

Ano. Knihovna podporuje efekty vnějšího stínu, záře, rozostření a odrazu na jakémkoli objektu tvaru prostřednictvím API EffectFormat.

Používá knihovna RAII pro správu zdrojů?

Ano. Destruktor Presentation automaticky uvolní celý vnitřní stav, takže není potřeba žádné explicitní čištění.

Zničí při opakovaném načtení a uložení PPTX neznámý obsah?

Ne. Neznámé XML části, které se během načítání objeví, jsou při ukládání zachovány doslovně, takže obsah, který knihovna zatím nezná, není nikdy ztracen.

Kde mohu najít zdrojový kód?

Knihovna je licencována pod MIT a je hostována na GitHubu. Hlášení chyb a pull requesty jsou vítány.

  

Podpora a vzdělávací materiály

 Čeština