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.
.pptx pomocí Presentation() nebo Presentation(path).SlideCollection pomocí add_empty_slide(), remove() a remove_at().ShapeType geometrie pomocí add_auto_shape().add_connector().NotesSlideManager.pres.comment_authors() a jejich souvisejících komentářů.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 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.
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á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;
}
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í/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 podporující C++20.
Ano. Knihovna podporuje vnější stín, záři, rozostření a odrazy na jakémkoli objektu tvaru prostřednictvím API EffectFormat.
Ano. Destruktor Presentation uvolní veškerý vnitřní stav automaticky, takže není potřeba explicitní úklid.
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.
Knihovna je licencována pod MIT a je hostována na GitHubu. Hlášení chyb a pull requesty jsou vítány.