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 s licencí 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, konceptuálního modelu používaného samotným PowerPointem. Přidávejte a odebírejte snímky, vkládejte AutoShapes, Tabulky a Spojnice, formátujte text na úrovni znaků tučně, kurzívou, velikostí písma a barvou, 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 uvolňuje celý vnitřní stav automaticky. Neznámé části XML nalezené během načítání jsou při ukládání zachovány doslovně, takže při zpětném průchodu se nikdy nepoškodí obsah, který knihovna ještě nerozumí. Knihovna vyžaduje kompilátor kompatibilní s C++20. Pro další funkce viz Aspose.Slides for C++ enterprise edition.

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 odstraňovat snímky: Programově spravovat SlideCollection pomocí add_empty_slide(), remove() a remove_at().
  • AutoShapes: Vkládejte obdélníky, elipsy, čáry a další ShapeType geometrie pomocí add_auto_shape().
  • Tabulky a konektory: Přidejte strukturované tvary tabulek a spojovací čáry mezi tvary pomocí add_connector().
  • Poznámky řečníka: Číst a zapisovat poznámky řečníka pro každý snímek prostřednictvím NotesSlideManager.
  • Threaded comments: Přistupujte k vláknům komentářů iterací pres.comment_authors() a jejich souvisejících komentářů.

Kde lze Aspose.Slides FOSS použít

  • Generování zpráv: Vytvářejte značkové prezentace ze zdrojových dat bez Office.
  • Automatizace šablon: Vyplňte PPTX šablony dynamickým obsahem v CI/CD pipelinech.
  • Migrace obsahu: Přečtěte existující prezentace a přestrukturalizujte nebo přeformátujte snímky.
  • Embedded systems: Zpracovávejte soubory PPTX v prostředích s kritickým výkonem nebo omezenými zdroji.
  • Dávkové zpracování: Aplikujte jednotné změny formátování napříč velkými knihovnami snímků.

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

  • Formátování na úrovni znaků: Použijte tučné, kurzívu, 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ínové a zářivé efekty: Použijte 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 zpětném průchodu: Neznámé části XML jsou při opětovném uložení zachovány doslovně.

Zkušenost vývojáře

Aspose.Slides FOSS se integruje pomocí CMake FetchContent, takže není potřeba ruční stahování ani instalace do celého systému. Knihovna se sestaví ze zdrojového kódu spolu s vaším projektem.

API zrcadlí vlastní objektový model PowerPointu (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), takže každý, 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++20.

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, pak pozici x/y 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];

    // 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átovat text a použít 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];

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

Č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é formáty souborů jsou podporovány?

.pptx je podporovaný formát pro čtení/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 podporující C++20.

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

Ano. Knihovna podporuje vnější stín, záři, rozostření a odrazy na jakémkoli objektu tvaru prostřednictvím API EffectFormat.

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

Ano. Destruktor Presentation uvolní veškerý vnitřní stav automaticky, takže není potřeba explicitní úklid.

Zničí při zpětném převodu PPTX neznámý obsah?

Ne. Neznámé části XML nalezené během načítání jsou při ukládání zachovány doslovně, takže obsah, který knihovna zatím nerozumí, 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