Aspose.Slides FOSS για C++ είναι μια βιβλιοθήκη αδειοδοτημένη με MIT για εργασία με αρχεία PowerPoint .pptx. Ενσωματώστε την μέσω CMake FetchContent και ξεκινήστε αμέσως τη δημιουργία, ανάγνωση και επεξεργασία παρουσιάσεων χωρίς εγκατάσταση του Microsoft Office ή οποιουδήποτε ιδιόκτητου runtime.
Η βιβλιοθήκη εκθέτει ένα Presentation API που βασίζεται στα Presentation, Slide, ShapeCollection, TextFrame, Paragraph και Portion, το εννοιολογικό μοντέλο που χρησιμοποιεί το ίδιο το PowerPoint. Προσθέστε και αφαιρέστε διαφάνειες, εισάγετε AutoShapes, Πίνακες και Συνδέσμους, μορφοποιήστε κείμενο σε επίπεδο χαρακτήρα με έντονη, πλάγια, μέγεθος γραμματοσειράς και χρώμα, εφαρμόστε συμπαγείς ή διαβαθμισμένες γεμίσεις και προσθέστε οπτικά εφέ (σκιά, λάμψη, θόλωση, αντανάκλαση).
Η σημασιολογία RAII εξασφαλίζει αξιόπιστο καθαρισμό πόρων: ο καταστροφέας του Presentation απελευθερώνει αυτόματα όλη την εσωτερική κατάσταση. Άγνωστα τμήματα XML που εντοπίζονται κατά τη φόρτωση διατηρούνται ακριβώς όπως είναι κατά την αποθήκευση, ώστε η επαναφόρτωση να μην καταστρέφει ποτέ περιεχόμενο που η βιβλιοθήκη δεν έχει ακόμη κατανοήσει. Η βιβλιοθήκη απαιτεί έναν μεταγλωττιστή συμβατό με C++17.
.pptx μέσω Presentation() ή Presentation(path).SlideCollection με add_clone(), remove() και remove_at().ShapeType μέσω add_auto_shape().add_connector().NotesSlideManager.get_slide_comments().Portion μέσω PortionFormat.FillFormat και FillType.EffectFormat.ParagraphFormat και set_alignment().Aspose.Slides FOSS ενσωματώνεται μέσω CMake FetchContent, έτσι δεν απαιτείται χειροκίνητη λήψη ή εγκατάσταση σε όλο το σύστημα. Η βιβλιοθήκη κατασκευάζεται από τον πηγαίο κώδικα μαζί με το έργο σας.
Το API αντικατοπτρίζει το δικό του μοντέλο αντικειμένων του PowerPoint (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), έτσι όποιος είναι εξοικειωμένος με το μοντέλο αντικειμένων του PowerPoint μπορεί να χρησιμοποιήσει τη βιβλιοθήκη αμέσως. Είναι αδειοδοτημένο υπό MIT, ανοιχτού κώδικα στο GitHub, και απαιτεί μεταγλωττιστή συμβατό με C++17.
Το RAII εξασφαλίζει ότι ο καταστροφέας του Presentation απελευθερώνει αυτόματα όλους τους πόρους όταν το αντικείμενο βγει εκτός εμβέλειας. Η add_auto_shape() δέχεται μια απαρίθμηση ShapeType, έπειτα τη θέση x/y και το πλάτος/ύψος σε σημεία — το text_frame του σχήματος παρέχει πρόσβαση για ορισμό του κειμένου.
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];
// Προσθήκη ενός AutoShape ορθογωνίου
auto& shape = slide.shapes().add_auto_shape(
Aspose::Slides::Foss::ShapeType::RECTANGLE,
50, 50, 400, 150
);
shape.text_frame()->set_text("Γειά σου, Aspose.Slides!");
prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
return 0;
}
Η μορφοποίηση κειμένου λειτουργεί στο επίπεδο Portion — η μικρότερη μονάδα μιας ακολουθίας χαρακτήρων. Ανοίξτε το αποθηκευμένο αρχείο, μεταβείτε στην πρώτη ενότητα του πρώτου παραγράφου και ορίστε τις ιδιότητες της γραμματοσειράς απευθείας. Η γέμιση του σχήματος είναι ανεξάρτητη: ορίστε τον τύπο γέμισης σε συμπαγή και αναθέστε ένα χρώμα.
#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];
// Έντονο, κείμενο 18pt
portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
portion.portion_format().set_font_height(18);
// Στερεό γέμισμα φόντου στο σχήμα
shape.fill_format().set_fill_type(asf::FillType::SOLID);
prs.save("formatted.pptx", asf::SaveFormat::PPTX);
return 0;
}
Είναι μια δωρεάν, βιβλιοθήκη C++ υπό άδεια MIT για δημιουργία, ανάγνωση και επεξεργασία παρουσιάσεων PowerPoint .pptx χωρίς να απαιτείται το Microsoft Office.
Το PPTX είναι η υποστηριζόμενη μορφή ανάγνωσης/εγγραφής. Η εξαγωγή σε PDF, HTML, SVG ή εικόνες δεν είναι διαθέσιμη σε αυτήν την έκδοση.
Όχι. Το Aspose.Slides FOSS είναι μια αυτόνομη βιβλιοθήκη C++ χωρίς εξάρτηση από το Microsoft Office, την αυτοματοποίηση COM ή οποιοδήποτε ιδιόκτητο runtime.
Χρησιμοποιήστε το CMake FetchContent για να ενσωματώσετε τη βιβλιοθήκη απευθείας από το GitHub. Η βιβλιοθήκη απαιτεί έναν μεταγλωττιστή συμβατό με C++17.
Ναι. Η βιβλιοθήκη υποστηρίζει εξωτερική σκιά, λάμψη, θόλωση και εφέ ανάκλασης σε οποιοδήποτε αντικείμενο σχήματος μέσω του API EffectFormat.
Ναι. Ο καταστροφέας Presentation απελευθερώνει αυτόματα όλη την εσωτερική κατάσταση, έτσι δεν απαιτείται ρητός καθαρισμός.
Όχι. Τα άγνωστα τμήματα XML που εντοπίζονται κατά τη φόρτωση διατηρούνται ακριβώς όπως είναι κατά την αποθήκευση, έτσι το περιεχόμενο που η βιβλιοθήκη δεν έχει ακόμη κατανοήσει δεν χάνεται ποτέ.
Η βιβλιοθήκη είναι αδειοδοτημένη υπό MIT και φιλοξενείται στο GitHub. Οι αναφορές σφαλμάτων και τα pull requests είναι ευπρόσδεκτα.