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 API pre prezentácie 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 znakov pomocou tučného, kurzívneho, veľkosti a farby písma, aplikujte plné alebo gradientné výplne a pridávajte vizuálne efekty (tieň, žiara, rozmazanie, odraz).
Semantika RAII zabezpečuje spoľahlivé uvoľňovanie zdrojov: destruktor Presentation uvoľní všetok vnútorný stav automaticky. Neznáme časti XML, ktoré sa objavia počas načítania, sú pri ukladaní zachované doslovne, takže pri opakovanom načítaní sa nikdy nezničí obsah, ktorý knižnica ešte nepochopí. Knižnica vyžaduje kompilátor kompatibilný s C++20. Pre ďalšie funkcie pozri Aspose.Slides for C++ enterprise edition.
.pptx súbory prostredníctvom Presentation() alebo Presentation(path).SlideCollection pomocou add_empty_slide(), remove() a remove_at().ShapeType geometrie prostredníctvom add_auto_shape().add_connector().NotesSlideManager.pres.comment_authors() a ich priradených komentárov.Portion objekty 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 každý, kto je oboznámený s objektovým modelom PowerPointu, môže knižnicu použiť okamžite. Je licencovaná pod licenciou MIT, open-source na GitHub a vyžaduje kompilátor kompatibilný s C++20.
RAII zabezpečuje, že deštruktor Presentation uvoľní všetky zdroje automaticky, keď objekt opustí rozsah. add_auto_shape() prijíma ShapeType enum, potom pozíciu x/y a šírku/výšku v bodoch — tvaru text_frame 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];
// 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átovanie textu funguje na úrovni Portion — najmenšia jednotka 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];
// 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;
}
Je to bezplatná, pod licenciou MIT C++ knižnica na vytváranie, čítanie a úpravu prezentácií PowerPoint .pptx bez potreby Microsoft Office.
.pptx je podporovaný formát na čítanie/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á C++ knižnica 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++20.
Áno. Knižnica podporuje vonkajší tieň, žiarenie, rozmazanie a odrazové efekty na akomkoľvek tvarovom objekte prostredníctvom API EffectFormat.
Áno. Deštruktor Presentation uvoľní všetok interný stav automaticky, takže nie je potrebné explicitné čistenie.
Nie. Neznáme časti XML zaznamenané 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 GitHubu. Správy o chybách a pull requesty sú vítané.