1. Προϊόντα
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for C++

Aspose.Slides FOSS για C++

Δημιουργήστε, διαβάστε και επεξεργαστείτε παρουσιάσεις PowerPoint από C++ — δωρεάν και ανοιχτού κώδικα, χωρίς εξάρτηση από το Office.

Βιβλιοθήκη C++ ανοιχτού κώδικα για παρουσιάσεις PowerPoint

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.

API Παρουσίασης και Διαφάνειας

  • Create and open PPTX: Δημιουργήστε νέες παρουσιάσεις ή ανοίξτε υπάρχοντα αρχεία .pptx μέσω Presentation() ή Presentation(path).
  • Προσθήκη και αφαίρεση διαφανειών: Προγραμματιστικά διαχειριστείτε το SlideCollection με add_empty_slide(), remove() και remove_at().
  • AutoShapes: Εισαγάγετε ορθογώνια, έλλειψη, γραμμές και άλλες ShapeType γεωμετρίες μέσω add_auto_shape().
  • Πίνακες και Συνδέσμους: Προσθέστε δομημένα σχήματα πινάκων και γραμμές συνδέσμων μεταξύ σχημάτων μέσω add_connector().
  • Σημειώσεις ομιλητή: Διαβάστε και γράψτε σημειώσεις ομιλητή ανά διαφάνεια μέσω NotesSlideManager.
  • Σχόλια σε νήματα: Πρόσβαση στα νήματα σχολίων επαναλαμβάνοντας pres.comment_authors() και τα συσχετισμένα σχόλιά τους.

Πού μπορεί να χρησιμοποιηθεί το Aspose.Slides FOSS

  • Δημιουργία αναφορών: Δημιουργήστε επώνυμες slide decks από πηγές δεδομένων χωρίς Office.
  • Αυτοματοποίηση προτύπων: Συμπληρώστε πρότυπα PPTX με δυναμικό περιεχόμενο σε δίκτυα CI/CD.
  • Μεταφορά περιεχομένου: Διαβάστε τις υπάρχουσες παρουσιάσεις και αναδιαρθρώστε ή επαναστυλιζάτε τις διαφάνειες.
  • Embedded systems: Επεξεργαστείτε αρχεία PPTX σε περιβάλλοντα με κριτική απόδοση ή περιορισμένους πόρους.
  • Batch processing: Εφαρμόστε ομοιόμορφες αλλαγές μορφοποίησης σε μεγάλες βιβλιοθήκες διαφανειών.

Μορφοποίηση Κειμένου και Οπτικά Εφέ

  • Μορφοποίηση επιπέδου χαρακτήρα: Εφαρμόστε έντονη, πλάγια, μέγεθος γραμματοσειράς και χρώμα σε μεμονωμένα Portion αντικείμενα μέσω PortionFormat.
  • Στερεές και διαβαθμισμένες γεμίσεις: Ορίστε το γέμισμα του σχήματος σε στερεό χρώμα ή γραμμική διαβάθμιση πολλαπλών σημείων χρησιμοποιώντας FillFormat και FillType.
  • Σκιές και εφέ λάμψης: Εφαρμόστε εξωτερική σκιά, λάμψη, θόλωση και αντανάκλαση σε οποιοδήποτε σχήμα μέσω EffectFormat.
  • Στοίχιση παραγράφων: Ορίστε αριστερή, κεντρική, δεξιά ή πλήρη στοίχιση ανά παράγραφο χρησιμοποιώντας ParagraphFormat και set_alignment().
  • Ασφαλές κατά την επαναφορά: Τα άγνωστα XML τμήματα διατηρούνται ακριβώς όπως είναι κατά την επανα-αποθήκευση.

Εμπειρία Προγραμματιστή

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;
}
 

Συχνές Ερωτήσεις

Τι είναι το Aspose.Slides FOSS για C++;

Πρόκειται για μια δωρεάν, βιβλιοθήκη C++ με άδεια MIT, για δημιουργία, ανάγνωση και επεξεργασία παρουσιάσεων PowerPoint .pptx χωρίς την ανάγκη του Microsoft Office.

Ποιοι τύποι αρχείων υποστηρίζονται;

.pptx είναι η υποστηριζόμενη μορφή ανάγνωσης/εγγραφής. Η εξαγωγή σε PDF, HTML, SVG ή εικόνες δεν είναι διαθέσιμη σε αυτήν την έκδοση.

Απαιτεί Microsoft Office ή PowerPoint;

Όχι. Το Aspose.Slides FOSS είναι μια αυτόνομη βιβλιοθήκη C++ χωρίς εξάρτηση από το Microsoft Office, την αυτοματοποίηση COM ή οποιοδήποτε ιδιόκτητο runtime.

Πώς το εγκαθιστώ;

Χρησιμοποιήστε το CMake FetchContent για να ενσωματώσετε τη βιβλιοθήκη απευθείας από το GitHub. Η βιβλιοθήκη απαιτεί έναν μεταγλωττιστή συμβατό με C++20.

Μπορώ να εφαρμόσω οπτικά εφέ όπως σκιά και λάμψη;

Ναι. Η βιβλιοθήκη υποστηρίζει εξωτερική σκιά, λάμψη, θόλωση και εφέ ανάκλασης σε οποιοδήποτε αντικείμενο σχήματος μέσω του EffectFormat API.

Χρησιμοποιεί η βιβλιοθήκη RAII για τη διαχείριση πόρων;

Ναι. Ο καταστροφέας Presentation απελευθερώνει όλη την εσωτερική κατάσταση αυτόματα, έτσι δεν απαιτείται ρητή εκκαθάριση.

Θα καταστρέψει η επαναφορά ενός PPTX το άγνωστο περιεχόμενο;

Όχι. Άγνωστα τμήματα XML που εντοπίζονται κατά τη φόρτωση διατηρούνται ακριβώς όπως είναι κατά την αποθήκευση, ώστε το περιεχόμενο που η βιβλιοθήκη δεν έχει ακόμη καταλάβει να μην χαθεί ποτέ.

Πού μπορώ να βρω τον πηγαίο κώδικα;

Η βιβλιοθήκη είναι αδειοδοτημένη υπό την άδεια MIT και φιλοξενείται στο GitHub. Οι αναφορές σφαλμάτων και τα pull requests είναι ευπρόσδεκτα.

  

Υποστήριξη και Πόροι Μάθησης

 Ελληνικά