Εισαγωγή
Aspose.Slides FOSS for C++ is now available: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx αρχεία σε γνήσιο C++, χωρίς εξάρτηση από το Microsoft Office ή οποιοδήποτε ιδιόκτητο runtime.
Η βιβλιοθήκη έχει σχεδιαστεί για προγραμματιστές που χρειάζονται να δημιουργούν ή να χειρίζονται αρχεία παρουσίασης προγραμματιστικά: αυτοματοποιώντας σετ διαφανειών από δεδομένα, εξάγοντας κείμενο και μεταδεδομένα από ανεβασμένα αρχεία PPTX, δημιουργώντας pipelines αναφοράς βασισμένα σε παρουσιάσεις, ή ενσωματώνοντας τη δημιουργία παρουσιάσεων σε εφαρμογές επιφάνειας εργασίας και διακομιστών. Επειδή aspose_slides_foss χτίζεται με CMake, επομένως μεταγλωττίζεται και αναπτύσσεται σε Windows, macOS και Linux.
Κύρια Χαρακτηριστικά
- Πλήρης υποστήριξη πλήρους κύκλου PPTX: Ανοίξτε οποιοδήποτε
.pptxαρχείο, τροποποιήστε το περιεχόμενό του και αποθηκεύστε το ξανά χωρίς να χάσετε άγνωστα τμήματα XML που η βιβλιοθήκη δεν καταλαβαίνει ακόμη. - Διαχείριση διαφανειών: Προσθέστε, αφαιρέστε και επαναλάβετε διαφάνειες χρησιμοποιώντας
prs.slides(); η παρουσίαση ξεκινά με μία κενή διαφάνεια μετά την κατασκευή ενόςPresentation. - AutoShapes, Πίνακες και Συνδέσμους: Εισάγετε σχήματα μέσω
slide.shapes().add_auto_shape(), δεδομένα πίνακα μέσωslide.shapes().add_table(), και οπτικούς συνδέσμους μεταξύ σχημάτων μέσωslide.shapes().add_connector(). - Μορφοποίηση εμπλουτισμένου κειμένου: Μορφοποιήστε κείμενο σε επίπεδο χαρακτήρα με
PortionFormat: μέγεθος γραμματοσειράς, έντονη, πλάγια, υπογράμμιση και χρώμα ARGB μέσωFillType::SOLIDκαιColorFormat. - Τύποι γεμίσματος: Εφαρμογή
FillType::SOLID,Gradient,Pattern, ήPictureγεμίζει σε οποιοδήποτε σχήμα. - Οπτικά εφέ: Εξωτερική σκιά, λάμψη, απαλό άκρο, θόλωση, αντανάκλαση και εσωτερική σκιά μέσω
shape.effect_format(). - 3D formatting: Λοξότμηση, κάμερα, σύστημα φωτισμού, υλικό και βάθος εξώθησης μέσω
shape.three_d_format(). - Σημειώσεις ομιλητή: Επισύναψη κειμένου σημειώσεων σε κάθε διαφάνεια μέσω
notes_slide_manager().add_notes_slide(). - Σχόλια με νήματα: Προσθήκη σχολίων με μεταδεδομένα συγγραφέα και θέση διαφάνειας.
- Ενσωματωμένες εικόνες: Ενσωμάτωση από διαδρομή αρχείου, buffer μνήμης ή ροή.
- Ιδιότητες εγγράφου: Ανάγνωση και εγγραφή βασικών, ιδιοτήτων εφαρμογής και προσαρμοσμένων ιδιοτήτων.
Ξεκινώντας
Προσθέστε τη βιβλιοθήκη μέσω CMake. Απαιτείται μεταγλωττιστής C++17.
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)
target_link_libraries(your_target PRIVATE aspose_slides_foss)
Δημιουργήστε την πρώτη σας παρουσίαση με ένα σχήμα και αποθηκεύστε το:
#include <Aspose/Slides/Foss/presentation.h>
int main() {
using namespace Aspose::Slides::Foss;
Presentation prs;
auto& slide = prs.slides()[0];
auto& shape = slide.shapes().add_auto_shape(
ShapeType::RECTANGLE, 50, 50, 400, 120
);
shape.text_frame()->set_text("Hello from Aspose.Slides FOSS!");
prs.save("hello.pptx", SaveFormat::PPTX);
return 0;
}
Ο Presentation destructor απελευθερώνει όλους τους εσωτερικούς πόρους αυτόματα όταν βγαίνει εκτός εμβέλειας.
Εικόνα μορφοποίησης κειμένου
#include <Aspose/Slides/Foss/presentation.h>
using namespace Aspose::Slides::Foss;
Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
ShapeType::RECTANGLE, 50, 50, 500, 150
);
shape.text_frame()->set_text("Bold heading in corporate blue");
auto& fmt = shape.text_frame()->paragraphs()[0].portions()[0].portion_format();
fmt.set_font_height(28);
fmt.set_font_bold(NullableBool::TRUE);
fmt.fill_format().set_fill_type(FillType::SOLID);
fmt.fill_format().solid_fill_color().set_color(Color::from_argb(255, 0, 70, 127));
prs.save("formatted.pptx", SaveFormat::PPTX);
Τρέχοντα όρια
Οι παρακάτω περιοχές ρίχνουν εξαιρέσεις σε αυτήν την έκδοση:
- Γραφές, SmartArt και αντικείμενα OLE
- Εικόνες και μεταβάσεις slide
- Εξαγωγή σε μορφές PDF, HTML, SVG ή εικόνας
- Υπερσυνδέσεις, ρυθμίσεις δράσης, μακροεντολές VBA και ψηφιακές υπογραφές
Τα άγνωστα μέρη XML που συναντώνται κατά τη διάρκεια της φόρτωσης διατηρούνται λεκτικά κατά την αποθήκευση, έτσι ώστε τα αρχεία PPTX που παράγονται από άλλα εργαλεία να ταξιδεύουν με ασφάλεια.