Εισαγωγή
Aspose.Slides FOSS for C++ (aspose_slides_foss) είναι μια δωρεάν, ανοικτή βιβλιοθήκη C++20 για τη δημιουργία και χειρισμό PowerPoint παρουσιάσεις με προγραμματισμό. χτισμένο εντελώς σε γηραιά C ++ χωρίς εξωτερικές εξαρτήσεις του χρόνου εκτέλεσης πέρα από CMake 3.20+, δίνει στους προγραμτές πλήρη έλεγχο των αρχείων PPTX χωρίς να απαιτείται Microsoft Office ή οποιοδήποτε ιδιοκτησιακό λογισμικό.
Η βιβλιοθήκη κυκλοφορεί υπό την άδεια του MIT, καθιστώντας τη κατάλληλη για εμπορικά και μη εμπορικά έργα. Aspose::Slides::Foss Το nameespace και παρέχει ένα πλούσιο μοντέλο αντικειμένων που καλύπτει παρουσιάσεις, σκιές, σχήματα, πίνακες, κείμενο-πλαίσια, ιδιότητες εγγράφου, σχόλια και εξαγωγή PPTX.
Αυτό το άρθρο περνά μέσα από την κύρια επιφάνεια API: τις τάξεις και τις μεθόδους που θα χρησιμοποιήσετε πιο συχνά κατά τη δημιουργία, διαμόρφωση και αποθήκευση παρουσιάσεων.
Τι περιλαμβάνεται
Εισαγωγή και διαχείριση Slide
Η Presentation Η κλάση είναι το σημείο εισόδου.Η δημιουργία μιας νέας παραδείγματος σας δίνει ένα προεπιλεγμένο σάιτ που είναι αμέσως έτοιμο για περιεχόμενο. SlideCollection Επιστρέφεται από slides(), η οποία υποστηρίζει την ενσωματωμένη πρόσβαση, ιθεράσεις, απομάκρυνση και ανακατατάξεις.
#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);
Φόρμες και αυτοσχεδιάσεις
Κάθε σάιτ εκθέτει ένα ShapeCollection Μέσα από την shapes() Η συλλογή παρέχει εργοστασιακές μεθόδους για την προσθήκη διαφορετικών τύπων σχήματος: add_auto_shape για τις τυποποιημένες μορφές γεωμετρίας (πραγματικές γωνίες, ελιπτικά, τριγώνια), add_connector για τις γραμμές συνδέσεων, add_table Για τα τραπέζια και add_picture_frame Για εικόνες .
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);
Η ShapeCollection Επίσης υποστηρίζει size(), remove(), remove_at(), reorder(), index_of(),και clear() για τη διαχείριση των σχημάτων μετά την δημιουργία.
Ετικέτες και παραγράφους διατύπωση
Οι μορφές μπορούν να κρατήσουν κείμενο μέσω TextFrame.Χρησιμοποιήστε add_text_frame() Σε ένα AutoShape να προσθέσετε περιεχόμενο κειμένου ή να έχετε πρόσβαση στο υπάρχον πλαίσιο μέσω της text_frame().Το κείμενο οργανώνεται σε παραγράφους, το καθένα περιέχει ένα ή περισσότερα μέρη. BasePortionFormat Η τάξη εκθέτει χαρακτηριστικά στυλ γραμματοσειράς, συμπεριλαμβανομένων των θάρρων, ιταλών, υπογραμμικών τύπων, κεφαλαιοποίησης, αυστηρών και χρώματος γραμμάτων.
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!"
Πλήρωση, Gradient και Visual Effects
Κάθε μορφή παρέχει ένα FillFormat Διαθέσιμο μέσω fill_format().Μπορείτε να ρυθμίσετε στερεά γεμίσματα, gradient γεμάτες ή μοτίβα γεμίσεις μέσω του set_fill_type() Μεθοδολογία. οι γεμίσματα Gradient διαμορφώνονται μέσω της GradientFormat αντικείμενο, το οποίο υποστηρίζει γραμμικές γωνίες, σχήμα gradient και σταματήστε χρώματα μέσω 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);
Η EffectFormat Η τάξη (διαθέσιμη μέσω effect_format()Η επιλογή του φάσματος, της οθόνης και των ελαφρών τμημάτων είναι διαθέσιμη με ένα συγκεκριμένο τρόπο (enable_glow_effect(), enable_outer_shadow_effect(), enable_soft_edge_effect()και διαμορφώνονται μέσω του επιστρεφόμενου αντικειμένου.
ΣΤΑΛΙΔΑ
Τα τραπέζια δημιουργούνται με add_table() στην συλλογή σχήματος. παρέχετε πλάτους στήλης και γραμμές ύψους ως vectors. η επιστροφή Table αντικειμενική έκθεση rows() και columns() Συλλογή και ατομική Cell Υποστήριξη περιεχομένου κειμένου μέσω 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
Ιδιότητες και σχόλια εγγράφων
Η DocumentProperties Η τάξη σας επιτρέπει να ορίσετε μεταδεδομένα όπως τίτλος, συγγραφέας, θέμα, λέξεις-κλειδιά, κατηγορία, αριθμός αναθεώρησης και χρονοδιαγράμματα.
Τα σχόλια διαχειρίζονται μέσω CommentAuthorCollection και CommentCollection.Προσθέτετε συγγραφείς με add_author(), στη συνέχεια, προσθέστε σχόλια σε συγκεκριμένα στίγματα σε συγκεκριμένες συντονισμούς.
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);
Γρήγορη έναρξη
Η κατασκευή από πηγή
Η βιβλιοθήκη απαιτεί CMake 3.20+ και ένα C++20-capable compiler. Κλωνοποιήστε το αποθεματικό και χτίζετε:
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
Ελάχιστο παράδειγμα
#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;
}
Υποστηριζόμενες μορφές
Η SaveFormat Το enum καθορίζει όλους τους στόχους εξαγωγής.Οι ακόλουθες μορφές επιβεβαιώνονται στον κώδικα πηγής:
| ΦΟΡΜΑΤΟΣ | επέκταση | Διαβάστε | Γράψε |
|---|---|---|---|
| PPTX | .pptx | – | ΝΑΙ |
| PPT | .ΠΡΤ | – | Σχεδιασμένο |
| PPSX | .ppsx | – | Σχεδιασμένο |
| PPTM | .ΠΡΤΜ | – | Σχεδιασμένο |
| PPSM | .ppsm | – | Σχεδιασμένο |
| POTX | .ΠΟΤΞ | – | Σχεδιασμένο |
| POTM | .ΠΟΤΜ | – | Σχεδιασμένο |
| POT | .ΠΟΤ | – | Σχεδιασμένο |
| PPS | .ΠΡΤΣΙΟ | – | Σχεδιασμένο |
| ODP | .ΟΔΠ | – | Σχεδιασμένο |
| OTP | .ΟΤΠ | – | Σχεδιασμένο |
| FODP | .Φόρτα | – | Σχεδιασμένο |
| – | Σχεδιασμένο | ||
| XPS | .xps | – | Σχεδιασμένο |
| HTML | .html | – | Σχεδιασμένο |
| HTML5 | .html | – | Σχεδιασμένο |
| TIFF | .Τίφ | – | Σχεδιασμένο |
| GIF | .ΓΓΙΤ | – | Σχεδιασμένο |
| SWF | .ΣΒΦ | – | Σχεδιασμένο |
| MD | .ΜΔ | – | Σχεδιασμένο |
| XML | .ΜΑΧΛΙ | – | Σχεδιασμένο |
Σημείωση : Επί του παρόντος, εφαρμόζεται μόνο η εξαγωγή PPTX. Υπάρχουν άλλες τιμές μορφής στο SaveFormat Το σύστημα είναι συμβατό με το μέλλον, αλλά δεν λειτουργεί ακόμα. save() Η μέθοδος παράγει πάντα την παραγωγή PPTX ανεξάρτητα από τη μορφή παραμέτρων.
Ανοικτή Πηγή & Άδεια Χρήσης
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/απόσπαση-slides-foss/Aspose.Slides - FOSS-for-Cpp.
Ξεκινώντας
Ετοιμάζετε να ενσωματώσετε το Aspose.Slides FOSS στο έργο σας C++; Εδώ είναι οι βασικοί πόροι:
- ΕΝΔΟΜΑΤΙΣΜΟΣ: HTTPS://docs.aspose.org/slides/cpp/ για την αναζήτηση για τους προγραμματιστές οδηγίες, τα διδακτικά και τις εννοιολογικές αναθεωρήσεις.
- Γνώση βάσης: HTTPS://kb.aspose.org/slides/cpp/ για την αναζήτηση Για FAQs και άρθρα που καλύπτουν κοινά καθήκοντα.
- Πυροβολισμοί αναφοράς: HTTPS://reference.aspose.org/slides/cpp/ για την αναφορά για την τεκμηρίωση κλάσης-πλάση της πλήρους δημόσιας API.