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.
.pptx pomocí Presentation() nebo Presentation(path).SlideCollection pomocí add_clone(), remove() a remove_at().ShapeType pomocí add_auto_shape().add_connector().NotesSlideManager.get_slide_comments().Portion pomocí PortionFormat.FillFormat a FillType.EffectFormat.ParagraphFormat a set_alignment().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.
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á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;
}
Jedná se o bezplatnou knihovnu C++ s licencí MIT pro vytváření, čtení a úpravu prezentací PowerPoint .pptx bez nutnosti Microsoft Office.
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.
Ne. Aspose.Slides FOSS je samostatná knihovna C++ bez závislosti na Microsoft Office, COM automatizaci ani na žádném proprietárním runtime.
Použijte CMake FetchContent k integraci knihovny přímo z GitHubu. Knihovna vyžaduje kompilátor kompatibilní s C++17.
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.
Ano. Destruktor Presentation automaticky uvolní celý vnitřní stav, takže není potřeba žádné explicitní čištění.
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.
Knihovna je licencována pod MIT a je hostována na GitHubu. Hlášení chyb a pull requesty jsou vítány.