1. Termékek
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for C++

Aspose.Slides FOSS C++-hoz

PowerPoint prezentációk létrehozása, olvasása és szerkesztése C++-ból — ingyenes és nyílt forráskódú, Office függőség nélkül.

Nyílt forráskódú C++ könyvtár PowerPoint prezentációkhoz

Aspose.Slides FOSS for C++ egy MIT-licencű könyvtár a PowerPoint .pptx fájlok kezeléséhez. Integráld CMake FetchContent segítségével, és azonnal kezdj el prezentációkat létrehozni, olvasni és szerkeszteni anélkül, hogy a Microsoft Office-t vagy bármilyen tulajdonosi futtatókörnyezetet telepítenél.

A könyvtár egy Presentation API-t biztosít, amely a Presentation, Slide, ShapeCollection, TextFrame, Paragraph és Portion köré épül, a PowerPoint által használt koncepcionális modell. Hozzáadhat és eltávolíthat diákat, beilleszthet AutoShapes, Tables és Connectors, karakter szinten formázhatja a szöveget félkövérrel, dőlt betűvel, betűmérettel és színnel, alkalmazhat egységes vagy fokozatos kitöltéseket, és vizuális hatásokat adhat hozzá (árnyék, ragyogás, elmosás, tükröződés).

Az RAII szemantika biztosítja a megbízható erőforrás-tisztítást: a Presentation destruktor automatikusan felszabadítja az összes belső állapotot. A betöltés során felmerülő ismeretlen XML részek szó szerint megmaradnak mentéskor, így a körkörös átalakítás soha nem semmisíti meg a könyvtár által még nem értett tartalmat. A könyvtárhoz C++20‑kompatibilis fordító szükséges. További funkciókért lásd a Aspose.Slides for C++ enterprise edition.

Prezentáció- és dia API

  • PPTX létrehozása és megnyitása: Új prezentációk létrehozása vagy meglévő .pptx fájlok megnyitása a Presentation() vagy a Presentation(path) segítségével.
  • Add and remove slides: Programozott módon kezeld a SlideCollection a add_empty_slide(), remove() és remove_at() segítségével.
  • AutoShapes: Helyezzen be téglalapokat, ellipsziseket, vonalakat és egyéb ShapeType geometriákat a add_auto_shape() segítségével.
  • Táblák és csatlakozók: Strukturált táblázat alakzatok és csatlakozó vonalak hozzáadása az alakzatok között a add_connector() segítségével.
  • Előadói jegyzetek: Olvassa és írja a diánkénti előadói jegyzeteket a NotesSlideManager segítségével.
  • Szálas megjegyzések: Hozzáférés a megjegyzés szálakhoz az pres.comment_authors() iterálásával és a hozzájuk tartozó megjegyzésekkel.

Ahol a Aspose.Slides FOSS felhasználható

  • Jelentéskészítés: Készítsen márkás diavetítéseket adatforrásokból Office nélkül.
  • Sablon automatizálás: Töltsd fel a PPTX sablonokat dinamikus tartalommal a CI/CD csővezetékekben.
  • Tartalom migráció: Olvassa be a meglévő prezentációkat, és szerkeztesse át vagy új stílusba helyezze a diákat.
  • Beágyazott rendszerek: PPTX fájlok feldolgozása teljesítménykritikus vagy erőforrás‑korlátozott környezetekben.
  • Kötegelt feldolgozás: Alkalmazzon egységes formázási változtatásokat nagy diakönyvtárakban.

Szövegformázás és vizuális hatások

  • Karakter szintű formázás: Alkalmazza a félkövér, dőlt, betűméret és szín formázásokat egyedi Portion objektumokra a PortionFormat segítségével.
  • Solid and gradient fills: Állítsa be az alakzat kitöltését szilárd színre vagy többállomásos lineáris színátmenetre a FillFormat és FillType használatával.
  • Árnyék- és ragyogás hatások: Alkalmazzon külső árnyékot, ragyogást, elmosódást és tükröződést bármely alakzatra a EffectFormat segítségével.
  • Bekezdés igazítása: Állítsa be a bal, közép, jobb vagy sorkizárt igazítást bekezdésenként a ParagraphFormat és set_alignment() használatával.
  • Round-trip safe: Ismeretlen XML részek szó szerint megmaradnak az újramentéskor.

Fejlesztői élmény

Aspose.Slides FOSS integrálódik a CMake FetchContent segítségével, így nincs szükség kézi letöltésre vagy rendszer‑szintű telepítésre. A könyvtár a forrásból épül a projekted mellett.

Az API tükrözi a PowerPoint saját objektummodelljét (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), így bárki, aki ismeri a PowerPoint objektummodellt, azonnal használhatja a könyvtárat. MIT-licensed, nyílt forráskódú a GitHubon, és C++20-kompatibilis fordítót igényel.

Készíts egy prezentációt, és adj hozzá egy alakzatot

Az RAII biztosítja, hogy a Presentation destruktor automatikusan felszabadítja az összes erőforrást, amikor az objektum kilép a hatókörből. A add_auto_shape() egy ShapeType enumot, majd x/y pozíciót és szélességet/magasságot pontokban vesz — a shape text_frame hozzáférést biztosít a szövegtartalom beállításához.

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ázd a szöveget és alkalmazz kitöltési hatást

A szövegformázás a Portion szinten működik — a karakterek sorozatának legkisebb egysége. Nyissa meg a mentett fájlt, navigáljon az első bekezdés első részéhez, és állítsa be közvetlenül a betűtípus tulajdonságait. Az alakzat kitöltése független: állítsa be a kitöltés típusát szilárdra, és rendelje hozzá a színt.

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

Gyakran ismételt kérdések

Mi a Aspose.Slides FOSS C++-hoz?

Ez egy ingyenes, MIT-licencű C++ könyvtár PowerPoint .pptx prezentációk létrehozásához, olvasásához és szerkesztéséhez, anélkül, hogy a Microsoft Office-ra szükség lenne.

Mely fájlformátumok támogatottak?

.pptx a támogatott olvasási/írási formátum. PDF, HTML, SVG vagy képek exportálása nem érhető el ebben a kiadásban.

Igényel-e Microsoft Office vagy PowerPoint?

Nem. Aspose.Slides FOSS egy önálló C++ könyvtár, amely nem függ a Microsoft Office-tól, a COM automatizálástól vagy bármilyen tulajdonosi futtatókörnyezettől.

Hogyan telepítem?

Használja a CMake FetchContent-et a könyvtár közvetlen integrálásához a GitHub-ról. A könyvtár C++20-kompatibilis fordítót igényel.

Alkalmazhatok-e vizuális effektusokat, például árnyékot és ragyogást?

Igen. A könyvtár támogatja a külső árnyék, a ragyogás, az elmosás és a tükröződés hatásait bármely alakzat objektumon a EffectFormat API-n keresztül.

A könyvtár RAII-t használ az erőforrás-kezeléshez?

Igen. A Presentation destruktor automatikusan felszabadítja az összes belső állapotot, így nincs szükség explicit takarításra.

A PPTX round-tripping elpusztítja-e az ismeretlen tartalmat?

Nem. Az ismeretlen XML részek, amelyek a betöltés során felmerülnek, mentéskor szó szerint megmaradnak, így a könyvtár által még nem értett tartalom soha nem vész el.

Hol találom a forráskódot?

A könyvtár MIT licenc alatt áll, és a GitHub-on van tárolva. Hibajelentések és pull requestek szívesen fogadottak.

  

Támogatás és tanulási források

 Magyar