Εισαγωγή

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 που παράγονται από άλλα εργαλεία να ταξιδεύουν με ασφάλεια.

Δείτε επίσης