Aspose.Slides FOSS για C++ είναι μια βιβλιοθήκη αδειοδοτημένη με MIT για εργασία με αρχεία PowerPoint .pptx. Ενσωματώστε την μέσω CMake FetchContent και ξεκινήστε αμέσως τη δημιουργία, ανάγνωση και επεξεργασία παρουσιάσεων χωρίς την εγκατάσταση του Microsoft Office ή οποιουδήποτε ιδιόκτητου runtime.
Η βιβλιοθήκη εκθέτει ένα Presentation API που βασίζεται στα Presentation, Slide, ShapeCollection, TextFrame, Paragraph και Portion, το εννοιολογικό μοντέλο που χρησιμοποιεί το PowerPoint. Προσθέστε και αφαιρέστε διαφάνειες, εισάγετε AutoShapes, Tables και Connectors, μορφοποιήστε κείμενο σε επίπεδο χαρακτήρα με έντονη, πλάγια, μέγεθος γραμματοσειράς και χρώμα, εφαρμόστε συμπαγείς ή διαβαθμισμένες γεμίσεις και προσθέστε οπτικά εφέ (σκιά, λάμψη, θόλωση, αντανάκλαση).
Η σημασιολογία RAII εξασφαλίζει αξιόπιστο καθαρισμό πόρων: ο καταστροφέας Presentation απελευθερώνει αυτόματα όλη την εσωτερική κατάσταση. Άγνωστα XML τμήματα που συναντώνται κατά τη φόρτωση διατηρούνται ακριβώς όπως είναι κατά την αποθήκευση, ώστε η κυκλική μετατροπή να μην καταστρέφει ποτέ το περιεχόμενο που η βιβλιοθήκη δεν καταλαβαίνει ακόμη. Η βιβλιοθήκη απαιτεί έναν μεταγλωττιστή συμβατό με C++20. Για πρόσθετες δυνατότητες, δείτε Aspose.Slides for C++ enterprise edition.
.pptx μέσω Presentation() ή Presentation(path).SlideCollection με add_empty_slide(), remove() και remove_at().ShapeType γεωμετρίες μέσω add_auto_shape().add_connector().NotesSlideManager.pres.comment_authors() και τα συσχετισμένα σχόλιά τους.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++20.
Το RAII διασφαλίζει ότι ο καταστροφέας Presentation απελευθερώνει αυτόματα όλους τους πόρους όταν το αντικείμενο βγαίνει εκτός εμβέλειας. add_auto_shape() δέχεται μια ShapeType enum, στη συνέχεια τη θέση 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];
// 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)
Η μορφοποίηση κειμένου λειτουργεί στο επίπεδο 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];
// 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;
}
Πρόκειται για μια δωρεάν, βιβλιοθήκη C++ με άδεια MIT, για δημιουργία, ανάγνωση και επεξεργασία παρουσιάσεων PowerPoint .pptx χωρίς την ανάγκη του Microsoft Office.
.pptx είναι η υποστηριζόμενη μορφή ανάγνωσης/εγγραφής. Η εξαγωγή σε PDF, HTML, SVG ή εικόνες δεν είναι διαθέσιμη σε αυτήν την έκδοση.
Όχι. Το Aspose.Slides FOSS είναι μια αυτόνομη βιβλιοθήκη C++ χωρίς εξάρτηση από το Microsoft Office, την αυτοματοποίηση COM ή οποιοδήποτε ιδιόκτητο runtime.
Χρησιμοποιήστε το CMake FetchContent για να ενσωματώσετε τη βιβλιοθήκη απευθείας από το GitHub. Η βιβλιοθήκη απαιτεί έναν μεταγλωττιστή συμβατό με C++20.
Ναι. Η βιβλιοθήκη υποστηρίζει εξωτερική σκιά, λάμψη, θόλωση και εφέ ανάκλασης σε οποιοδήποτε αντικείμενο σχήματος μέσω του EffectFormat API.
Ναι. Ο καταστροφέας Presentation απελευθερώνει όλη την εσωτερική κατάσταση αυτόματα, έτσι δεν απαιτείται ρητή εκκαθάριση.
Όχι. Άγνωστα τμήματα XML που εντοπίζονται κατά τη φόρτωση διατηρούνται ακριβώς όπως είναι κατά την αποθήκευση, ώστε το περιεχόμενο που η βιβλιοθήκη δεν έχει ακόμη καταλάβει να μην χαθεί ποτέ.
Η βιβλιοθήκη είναι αδειοδοτημένη υπό την άδεια MIT και φιλοξενείται στο GitHub. Οι αναφορές σφαλμάτων και τα pull requests είναι ευπρόσδεκτα.