Bevezetés
Aspose.Slides FOSS for C++ (aspose_slides_fossA C++20 egy ingyenes, nyílt forráskódú könyvtár a PowerPoint prezentációk programozásához és manipulálásához. Teljesen eredeti C ++ -ban épült, külső futáskor függetlenségek nélkül CMake 3.20+-on túl, amely teljes ellenőrzést biztosít a fejlesztők számára a PPTX fájlok felett anélkül, hogy szükség lenne Microsoft Office vagy bármilyen saját szoftverre.
A könyvtár az MIT licenc alatt kerül kiadásra, így alkalmas mind kereskedelmi, mind nem-kereskedelmi projektekre. Aspose::Slides::Foss névterületet és gazdag objektummodellt biztosít, amely bemutatókat, diaposztikákat, formákat , táblázatokat, szövegkeretet, dokumentum tulajdonságokat , megjegyzéseket és PPTX exportot tartalmaz.
Ez a bejegyzés átjárja az API alapvető felületét: azokat a osztályokat és módszereket, amelyeket leggyakrabban használsz a bemutatók létrehozásakor, formázásában és mentésében.
Mit tartalmaz?
Előadás és dia menedzsment
A Bizottság Presentation A klasszis a bejárati pont. Egy új példány létrehozásával egy alapértelmezett dia megjelenik, ami azonnal kész az anyaghoz. Az adáson keresztül hozzáférhetsz a slide-hez. SlideCollection visszaadta: slides(), amely támogatja az indexelt hozzáférést, iterációt, eltávolítást és újrendelést.
#include <Aspose/Slides/Foss/presentation.h>
using namespace Aspose::Slides::Foss;
Presentation pres;
auto& slide = pres.slides()[0]; // first slide
// Work with the slide...
pres.save("output.pptx", SaveFormat::PPTX);
Alapok és automatikus alakok
Minden képernyő egy-egy… ShapeCollection a saját shapes() A gyűjtemény a különböző formátumok hozzáadására szolgáló gyári módszereket tartalmazza: add_auto_shape a szabványos geometriai alakzatok (tisztalak, ellipsz, háromszög), add_connector a vezetékkapcsolókhoz, add_table táblázatok esetében, és add_picture_frame képekhez.
auto& slide = pres.slides()[0];
// Add a rectangle
auto& rect = slide.shapes().add_auto_shape(
ShapeType::RECTANGLE, 50, 50, 300, 100);
// Add an ellipse
auto& ellipse = slide.shapes().add_auto_shape(
ShapeType::ELLIPSE, 400, 50, 150, 150);
// Add a connector between shapes
auto& conn = slide.shapes().add_connector(
ShapeType::BENT_CONNECTOR3, 0, 0, 1, 1);
A Bizottság ShapeCollection támogatja a size(), remove(), remove_at(), reorder(), index_of(),és a következők: clear() a formák létrehozása után történő kezelésére.
A szöveg és a bekezdés formázása
A formák tartalmazzák a szöveget az alábbi módon: TextFrame.Használja. add_text_frame() a következők: AutoShape a szöveg tartalmának csatolására, vagy az ott lévő kerethez való hozzáférésre a text_frame().A szöveget bekezdésekre osztják, amelyek mindegyike egy vagy több részből áll. BasePortionFormat A klasszis megjelenítés a betűtípus stílusának tulajdonságait mutatja be, beleértve a vastag, kursiv, aláhúzott típusot, nagybetűt, átlátszó és betöltött színeket.
auto& shape = pres.slides()[0].shapes().add_auto_shape(
ShapeType::RECTANGLE, 50, 50, 300, 100, false);
shape.add_text_frame("Hello, world!");
auto text = shape.text_frame()->text(); // "Hello, world!"
Töltés, gradiens és vizuális effektek
Minden egyes forma egy FillFormat hozzáférhető a fill_format().A szilárd töltéseket, a gradiens-töltéseket vagy a mintázatot tölti be az átjáró rendszeren keresztül. set_fill_type() A felületek beépítése a GradientFormat objektum, amely támogatja a lineáris szögeket, gradiens alakját és szín megáll via GradientStopCollection.
auto& shape = slide.shapes().add_auto_shape(
ShapeType::RECTANGLE, 50, 50, 300, 150);
shape.fill_format().set_fill_type(FillType::GRADIENT);
auto& gf = shape.fill_format().gradient_format();
gf.set_gradient_shape(GradientShape::LINEAR);
gf.set_linear_gradient_angle(45);
gf.gradient_stops().add(0.0f, Color::blue);
gf.gradient_stops().add(1.0f, Color::red);
A Bizottság EffectFormat osztály (a hozzáférhető effect_format()A “Szél” (szín) és a “Törés” (“sír”) hatásokkal együtt, az egyes effektusokat egy speciális módszer segítségével lehetne aktiválni.enable_glow_effect(), enable_outer_shadow_effect(), enable_soft_edge_effect()) és a visszaküldött objektum segítségével konfigurálva.
Táblázatok
Az alábbi táblázatokból: add_table() A formátum gyűjteményén a oszlop szélességét és sormagasságát vektorként adja meg. Table objektum felfedése rows() és a következők: columns() gyűjtemények, valamint az egyéni Cell Az objektumok a szöveg tartalmát támogatják az alábbi módon: TextFrame.
std::vector<double> col_widths = {100, 150, 200};
std::vector<double> row_heights = {40, 40, 40};
auto& table = slide.shapes().add_table(
50, 50, col_widths, row_heights);
// table.rows().size() == 3
// table.columns().size() == 3
Dokumentum tulajdonságai és megjegyzései
A Bizottság DocumentProperties A class segítségével metadata-kat beállíthat, mint például cím, szerző, téma, kulcsszó, kategória, felülvizsgálati szám és időszám. Az előadás objektumán keresztül érheti el.
A megjegyzéseket a következők segítségével kezeljük: CommentAuthorCollection és a következők: CommentCollection.A szerzőket hozzáadod a következőkhez: add_author(), majd hozzárendeljük az adott koordinátákra vonatkozó konkrét slide-ekre.
Presentation pres;
auto& author = pres.comment_authors().add_author("Alice", "A");
auto& slide = pres.slides()[0];
auto& comment = author.comments().add_comment(
"Review note", slide, PointF(2.0f, 3.0f), now);
Gyors kezdés
A forrásból építeni
A könyvtárnak CMake 3.20+ és egy C++20-es kompilátor kell. Klonolja a raktárt, és építse:
git clone https://github.com/aspose-slides-foss/Aspose.Slides-FOSS-for-Cpp.git
cd Aspose.Slides-FOSS-for-Cpp
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
Minimum példa
#include <Aspose/Slides/Foss/presentation.h>
using namespace Aspose::Slides::Foss;
int main() {
Presentation pres;
auto& slide = pres.slides()[0];
// Add a shape with text
auto& shape = slide.shapes().add_auto_shape(
ShapeType::RECTANGLE, 50, 50, 300, 100, false);
shape.add_text_frame("Hello from Aspose.Slides FOSS!");
// Apply a solid fill
shape.fill_format().set_fill_type(FillType::SOLID);
shape.fill_format().solid_fill_color().set_color(Color::blue);
// Save
pres.save("hello.pptx", SaveFormat::PPTX);
return 0;
}
Támogatott formátumok
A SaveFormat az enum meghatározza az összes exportcélt. Az alábbi formátumokat a forráskód megerősíti:
| Formátum | Meghosszabbítás | Olvasom. | Írjon |
|---|---|---|---|
| PPTX | .pptx | – | - Igen. - Igen. |
| PPT | .ppt | – | Tervezett |
| PPSX | .ppsx | – | Tervezett |
| PPTM | .pptm | – | Tervezett |
| PPSM | .ppsm | – | Tervezett |
| POTX | .potx | – | Tervezett |
| POTM | .- A kő. | – | Tervezett |
| POT | .- Készítő. | – | Tervezett |
| PPS | .pps | – | Tervezett |
| ODP | .odp | – | Tervezett |
| OTP | .otp | – | Tervezett |
| FODP | .fodp | – | Tervezett |
| – | Tervezett | ||
| XPS | .xps | – | Tervezett |
| HTML | .html | – | Tervezett |
| HTML5 | .html | – | Tervezett |
| TIFF | .- Tiszta. | – | Tervezett |
| GIF | .gif | – | Tervezett |
| SWF | .swf | – | Tervezett |
| MD | .md | – | Tervezett |
| XML | .xml | – | Tervezett |
Megjegyzés: Jelenleg csak a PPTX export alkalmazható. A formátumban más értékek is léteznek, mint az MPEG-formátumok és a PSE-s programok. SaveFormat A továbbiakban a következők kerülnek elhelyezésre: save() A módszer mindig PPTX kimenetet ad ki a formátum paraméterétől függetlenül.
Nyitott forráskódú és licenckészítés
Aspose.Slides FOSS for C++ is released under the MIT license. You can use it freely in personal projects, commercial applications, and redistributed libraries. There are no API keys, watermarks, or usage limits. The full source code is available on GitHub at https://github.com/aspose-slides-foss/Aspose.Slides - FOSS-for-Cpp.
Kezdjük!
Készen állsz a Aspose.Slides FOSS integrálására C++ projektedbe? Itt vannak a kulcsfontosságú források:
- Dokumentációk: https://docs.aspose.org/slides/cpp/ fejlesztői útmutatók, tanfolyamok és koncepciós áttekintések.
- Tudásbázis: https://kb.aspose.org/slides/cpp/ A rendszeres feladatokról szóló gyakori kérdések és útmutató cikkek.
- API hivatkozás: https://reference.aspose.org/slides/cpp/ a teljes nyilvános API osztályonkénti dokumentációja.