1. Products
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for C++

Aspose.Slides FOSS C++

Kurkite, skaitykite ir redaguokite PowerPoint pristatymus iš C++ — nemokama ir atviro kodo, nereikia Office priklausomybės.

Atviro kodo C++ biblioteka PowerPoint pristatymams

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.

Pristatymo ir skaidrių API

  • Sukurti ir atverti PPTX: Sukurkite naujas prezentacijas arba atverkite esamus .pptx failus per Presentation() arba Presentation(path).
  • Pridėti ir pašalinti skaidres: Programiškai valdyti SlideCollection su add_empty_slide(), remove() ir remove_at().
  • AutoShapes: Įterpkite stačiakampius, elipses, linijas ir kitas ShapeType geometrines formas per add_auto_shape().
  • Lentelės ir jungikliai: Pridėkite struktūruotas lentelių formas ir jungimo linijas tarp formų per add_connector().
  • Kalbėtojo pastabos: Perskaityti ir rašyti vienai skaidrei skirtas kalbėtojo pastabas per NotesSlideManager.
  • Gija komentarų: Prieiga prie komentarų gijų gaunama iteruojant pres.comment_authors() ir jų susijusius komentarus.

Kur Aspose.Slides FOSS gali būti naudojamas

  • Ataskaitų generavimas: Sukurkite prekinio ženklo skaidrių rinkinius iš duomenų šaltinių be Office.
  • Šablonų automatizavimas: Užpildykite PPTX šablonus dinamine turiniu CI/CD konvejeriuose.
  • Turinio migracija: Skaityti esamas prezentacijas ir pertvarkyti arba perstiliuoti skaidres.
  • Įterptinės sistemos: Apdorokite PPTX failus kritinėse našumo arba išteklių apribotose aplinkose.
  • Masinis apdorojimas: Taikykite vienodus formatavimo pakeitimus didelėse skaidrių rinkinių bibliotekose.

Teksto formatavimas ir vizualiniai efektai

  • Character-level formatting: Taikykite pusjuodį, kursyvą, šrifto dydį ir spalvą atskiriems Portion objektams per PortionFormat.
  • Vientisiniai ir gradientiniai užpildai: Nustatykite figūros užpildą į vientisą spalvą arba daugiapakopį linijinį gradientą naudodami FillFormat ir FillType.
  • Šešėlio ir švytėjimo efektai: Taikykite išorinį šešėlį, švytėjimą, išblykimą ir atspindį bet kuriai formai per EffectFormat.
  • Pastraipos lygiavimas: Nustatykite kairę, centrą, dešinę arba lygiavimą (justify) kiekvienai pastraipai naudodami ParagraphFormat ir set_alignment().
  • Saugus pakartotiniam perkėlimui: Nežinomos XML dalys išsaugomos nepakitę per pakartotinį įrašymą.

Kūrėjo patirtis

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.

Sukurkite pristatymą ir pridėkite formą

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)
 

Formatuoti tekstą ir pritaikyti užpildymo efektą

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;
}
 

Frequently Asked Questions

Kas yra Aspose.Slides FOSS C++?

Tai yra nemokama, MIT licencijuota C++ biblioteka, skirta kurti, skaityti ir redaguoti PowerPoint .pptx pristatymus, nereikalaujanti Microsoft Office.

Kokie failų formatai yra palaikomi?

.pptx yra palaikomas skaitymo/rašymo formatas. Eksportavimas į PDF, HTML, SVG arba vaizdus šioje versijoje neprieinamas.

Ar tai reikalauja Microsoft Office arba PowerPoint?

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.

Kaip jį įdiegti?

Naudokite CMake FetchContent, kad integruotumėte biblioteką tiesiogiai iš GitHub. Bibliotekai reikalingas C++20 suderinamas kompiliatorius.

Ar galiu pritaikyti vizualinius efektus, pvz., šešėlį ir švytėjimą?

Taip. Biblioteka palaiko išorinį šešėlį, švytėjimą, išblykimą ir atspindžio efektus bet kuriam formos objektui per EffectFormat API.

Ar biblioteka naudoja RAII išteklių valdymui?

Taip. Presentation destruktorius automatiškai atlaisvina visą vidinę būseną, todėl nėra reikalo atlikti išsamų išvalymą.

Ar „round‑tripping“ PPTX sunaikins nežinomą turinį?

Ne. Nežinomos XML dalys, susiduriančios įkrovimo metu, išsaugomos nepakitusiomis įrašymo metu, todėl turinys, kurio biblioteka dar nesupranta, niekada neprarandamas.

Kur galiu rasti šaltinio kodą?

Biblioteka yra licencijuota pagal MIT ir talpinama GitHub. Klaidų pranešimai ir pull request’ai yra laukiami.

  

Support and Learning Resources

 Lietuvių