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 Presentation API 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 znaku s tučným, kurzívnym, veľkosťou písma a farbou, aplikujte plné alebo gradientné výplne a pridávajte vizuálne efekty (tieň, žiara, rozmazanie, odraz).
RAII semantika zabezpečuje spoľahlivé uvoľňovanie zdrojov: deštruktor Presentation automaticky uvoľní celý interný stav. Neznáme XML časti, ktoré sa objavia počas načítania, sú pri ukladaní zachované doslovne, takže spätné načítanie nikdy nepoškodí obsah, ktorý knižnica ešte nepozná. Knižnica vyžaduje kompilátor kompatibilný s C++17.
.pptx pomocou Presentation() alebo Presentation(path).SlideCollection pomocou add_clone(), remove() a remove_at().ShapeType pomocou add_auto_shape().add_connector().NotesSlideManager.get_slide_comments().Portion prostredníctvom PortionFormat.FillFormat a FillType.EffectFormat.ParagraphFormat a set_alignment().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 ktokoľvek, kto je oboznámený s objektovým modelom PowerPointu, môže knižnicu použiť okamžite. Je licencovaná pod MIT, je open-source na GitHub a vyžaduje kompilátor kompatibilný s C++17.
RAII zabezpečuje, že deštruktor Presentation uvoľní všetky zdroje automaticky, keď objekt opustí svoj rozsah. add_auto_shape() prijíma výčtový typ ShapeType, potom pozíciu x/y a šírku/výšku v bodoch – text_frame tvaru 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];
// Pridať obdĺžnikový 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átovanie textu funguje na úrovni Portion — najmenšej jednotky 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];
// Tučný, 18pt text
portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
portion.portion_format().set_font_height(18);
// Plná výplň pozadia na tvare
shape.fill_format().set_fill_type(asf::FillType::SOLID);
prs.save("formatted.pptx", asf::SaveFormat::PPTX);
return 0;
}
Je to bezplatná, pod licenciou MIT, C++ knižnica na vytváranie, čítanie a úpravu PowerPoint .pptx prezentácií bez potreby Microsoft Office.
PPTX je podporovaný formát na čítanie a zápis. Export do PDF, HTML, SVG alebo obrázkov nie je v tejto edícii k dispozícii.
Nie. Aspose.Slides FOSS je samostatná knižnica C++ bez závislosti na Microsoft Office, COM automatizácii ani na žiadnom proprietárnom runtime.
Použite CMake FetchContent na integráciu knižnice priamo z GitHubu. Knižnica vyžaduje kompilátor kompatibilný s C++17.
Áno. Knižnica podporuje vonkajší tieň, žiarenie, rozostrenie a odrazové efekty na akomkoľvek tvarovom objekte prostredníctvom API EffectFormat.
Áno. Deštruktor Presentation automaticky uvoľní celý interný stav, takže nie je potrebné explicitné čistenie.
Nie. Neznáme XML časti, ktoré sa objavia počas načítania, sa pri ukladaní zachovajú doslovne, takže obsah, ktorý knižnica ešte nerozpozná, sa nikdy nestratí.
Knižnica je licencovaná pod MIT a je hostovaná na GitHub. Správy o chybách a pull requesty sú vítané.