Aspose.Slides FOSS for C++ yra MIT licencijuota biblioteka, skirta dirbti su PowerPoint .pptx failais. Integruokite ją per CMake FetchContent ir iš karto pradėkite kurti, skaityti ir redaguoti pristatymus be Microsoft Office įdiegimo ar bet kokios nuosavybinės vykdymo aplinkos.
Biblioteka pateikia Presentation API, sukurtą aplink Presentation, Slide, ShapeCollection, TextFrame, Paragraph ir Portion, konceptualinį modelį, kurį naudoja pats PowerPoint. Pridėkite ir pašalinkite skaidres, įterpkite AutoShapes, lenteles ir jungiklius, formatuokite tekstą charakterio lygiu su pusjuodžiu, kursyvu, šrifto dydžiu ir spalva, taikykite vientisas arba gradientines užpildas ir pridėkite vizualinius efektus (šešėlį, švytėjimą, išblykimą, atspindį).
RAII semantika užtikrina patikimą išteklių valymą: Presentation destruktorius automatiškai atlaisvina visą vidinę būseną. Nežinomos XML dalys, susiduriančios įkeliant, išsaugomos nepakitusiomis įrašymo metu, todėl pakartotinis įkėlimas niekada nesugadina turinio, kurio biblioteka dar nesupranta. Biblioteka reikalauja C++20 suderinamo kompiliatoriaus. Daugiau funkcijų rasite Aspose.Slides for C++ enterprise edition.
.pptx failus per Presentation() arba Presentation(path).SlideCollection su add_empty_slide(), remove() ir remove_at().ShapeType geometrines formas per add_auto_shape().add_connector().NotesSlideManager.pres.comment_authors() ir jų susijusius komentarus.Portion objektams per PortionFormat.FillFormat ir FillType.EffectFormat.ParagraphFormat ir set_alignment().Aspose.Slides FOSS integruojamas per CMake FetchContent, todėl nereikia rankinio atsisiuntimo ar sistemos lygio įdiegimo. Biblioteka kompiliuojama iš šaltinio kartu su jūsų projektu.
API atspindi PowerPoint savo objektų modelį (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), todėl bet kas, susipažinęs su PowerPoint objektų modeliu, gali iš karto naudoti biblioteką. Ji yra MIT-licencijuota, atviro kodo GitHub platformoje ir reikalauja C++20 suderinamo kompiliatoriaus.
RAII užtikrina, kad Presentation destruktorius automatiškai atlaisvintų visus išteklius, kai objektas išeina iš apimties. add_auto_shape() priima ShapeType enum, tada x/y poziciją ir plotį/aukštį taškais — text_frame suteikia prieigą nustatyti teksto turinį.
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)
Teksto formatavimas veikia Portion lygyje — mažiausia simbolių sekos vienetas. Atidarykite išsaugotą failą, pereikite prie pirmos pirmojo pastraipos dalies ir tiesiogiai nustatykite šrifto savybes. Formos užpildymas yra nepriklausomas: nustatykite užpildymo tipą į vientisą ir priskirkite spalvą.
#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;
}
Tai yra nemokama, MIT licencijuota C++ biblioteka, skirta kurti, skaityti ir redaguoti PowerPoint .pptx pristatymus, nereikalaujanti Microsoft Office.
.pptx yra palaikomas skaitymo/rašymo formatas. Eksportavimas į PDF, HTML, SVG arba vaizdus šioje versijoje neprieinamas.
Ne. Aspose.Slides FOSS yra savarankiška C++ biblioteka, neturinčia priklausomybės nuo Microsoft Office, COM automatizacijos ar bet kokios nuosavybinės vykdymo aplinkos.
Naudokite CMake FetchContent, kad integruotumėte biblioteką tiesiogiai iš GitHub. Bibliotekai reikalingas C++20 suderinamas kompiliatorius.
Taip. Biblioteka palaiko išorinį šešėlį, švytėjimą, išblykimą ir atspindžio efektus bet kuriam formos objektui per EffectFormat API.
Taip. Presentation destruktorius automatiškai atlaisvina visą vidinę būseną, todėl nėra reikalo atlikti išsamų išvalymą.
Ne. Nežinomos XML dalys, susiduriančios įkrovimo metu, išsaugomos nepakitusiomis įrašymo metu, todėl turinys, kurio biblioteka dar nesupranta, niekada neprarandamas.
Biblioteka yra licencijuota pagal MIT ir talpinama GitHub. Klaidų pranešimai ir pull request’ai yra laukiami.