Πρόσβαση στις διαφάνειες παρουσίασης σε JavaScript

Επισκόπηση

Αυτό το άρθρο εξηγεί πώς να αποκτήσετε πρόσβαση και να διαχειριστείτε τις διαφάνειες σε μια παρουσίαση χρησιμοποιώντας το Aspose.Slides. Δείχνει πώς να ανακτήσετε διαφάνειες με βάση τον μηδενικά-βάση δείκτη τους από τη συλλογή διαφανειών και πώς να αποκτήσετε πρόσβαση σε μια διαφάνεια με το μοναδικό της αναγνωριστικό χρησιμοποιώντας τη μέθοδο getSlideById.

Θα μάθετε επίσης πώς να αλλάξετε τη θέση μιας διαφάνειας χρησιμοποιώντας τη μέθοδο setSlideNumber και πώς να ορίσετε τον αρχικό αριθμό διαφάνειας για μια παρουσίαση με τη μέθοδο setFirstSlideNumber. Τα παραδείγματα δείχνουν τη φόρτωση μιας παρουσίασης, την λήψη αναφορών σε διαφάνειες, την ενημέρωση της σειράς ή του αριθμού διαφανειών και την αποθήκευση της τροποποιημένης παρουσίασης.

Πρόσβαση στη διαφάνεια με δείκτη

Όλες οι διαφάνειες σε μια παρουσίαση είναι διατεταγμένες αριθμητικά με βάση τη θέση της διαφάνειας ξεκινώντας από το 0. Η πρώτη διαφάνεια είναι προσπελάσιμη μέσω του δείκτη 0· η δεύτερη διαφάνεια μέσω του δείκτη 1· κ.λπ.

Η κλάση Presentation, που αντιπροσωπεύει ένα αρχείο παρουσίασης, εκθέτει όλες τις διαφάνειες ως μια συλλογή SlideCollection (συλλογή αντικειμένων Slide). Αυτός ο κώδικας JavaScript σας δείχνει πώς να αποκτήσετε πρόσβαση σε μια διαφάνεια μέσω του δείκτη της:

// Δημιουργεί ένα αντικείμενο Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης
var pres = new aspose.slides.Presentation("demo.pptx");
try {
    // Αποκτά πρόσβαση σε μια διαφάνεια χρησιμοποιώντας τον δείκτη της
    var slide = pres.getSlides().get_Item(0);
} finally {
    pres.dispose();
}

Πρόσβαση στη διαφάνεια με ID

Κάθε διαφάνεια σε μια παρουσίαση έχει ένα μοναδικό ID που της αντιστοιχεί. Μπορείτε να χρησιμοποιήσετε τη μέθοδο getSlideById (που εκτίθεται από την κλάση Presentation) για να στοχεύσετε αυτό το ID. Αυτός ο κώδικας JavaScript σας δείχνει πώς να δώσετε ένα έγκυρο ID διαφάνειας και να αποκτήσετε πρόσβαση σε αυτή τη διαφάνεια μέσω της μεθόδου getSlideById:

// Δημιουργεί ένα αντικείμενο Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης
var pres = new aspose.slides.Presentation("demo.pptx");
try {
    // Λαμβάνει το αναγνωριστικό μιας διαφάνειας
    var id = pres.getSlides().get_Item(0).getSlideId();
    // Αποκτά πρόσβαση στη διαφάνεια μέσω του αναγνωριστικού της
    var slide = pres.getSlideById(id);
} finally {
    pres.dispose();
}

Αλλαγή θέσης διαφάνειας

Το Aspose.Slides σας επιτρέπει να αλλάξετε τη θέση μιας διαφάνειας. Για παράδειγμα, μπορείτε να ορίσετε ότι η πρώτη διαφάνεια πρέπει να γίνει η δεύτερη διαφάνεια.

  1. Δημιουργήστε μια παρουσία της κλάσης Presentation.
  2. Αποκτήστε την αναφορά της διαφάνειας (της οποίας θέλετε να αλλάξετε τη θέση) μέσω του δείκτη της.
  3. Ορίστε μια νέα θέση για τη διαφάνεια μέσω της ιδιότητας setSlideNumber.
  4. Αποθηκεύστε την τροποποιημένη παρουσίαση.

Αυτός ο κώδικας JavaScript επιδεικνύει μια λειτουργία κατά την οποία η διαφάνεια στη θέση 1 μετακινείται στη θέση 2:

// Δημιουργεί ένα αντικείμενο Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης
var pres = new aspose.slides.Presentation("Presentation.pptx");
try {
    // Λαμβάνει τη διαφάνεια της οποίας η θέση θα αλλάξει
    var sld = pres.getSlides().get_Item(0);
    // Ορίζει τη νέα θέση για τη διαφάνεια
    sld.setSlideNumber(2);
    // Αποθηκεύει την τροποποιημένη παρουσίαση
    pres.save("helloworld_Pos.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    pres.dispose();
}

Η πρώτη διαφάνεια έγινε η δεύτερη· η δεύτερη διαφάνεια έγινε η πρώτη. Όταν αλλάζετε τη θέση μιας διαφάνειας, οι άλλες διαφάνειες προσαρμόζονται αυτόματα.

Ορισμός αριθμού διαφάνειας

Χρησιμοποιώντας την ιδιότητα setFirstSlideNumber (που εκτίθεται από την κλάση Presentation), μπορείτε να ορίσετε έναν νέο αριθμό για την πρώτη διαφάνεια σε μια παρουσίαση. Αυτή η λειτουργία προκαλεί την επαναϋπολογισμό των αριθμών των άλλων διαφανειών.

  1. Δημιουργήστε μια παρουσία της κλάσης Presentation.
  2. Αποκτήστε τον αριθμό της διαφάνειας.
  3. Ορίστε τον αριθμό της διαφάνειας.
  4. Αποθηκεύστε την τροποποιημένη παρουσίαση.

Αυτός ο κώδικας JavaScript επιδεικνύει μια λειτουργία όπου ο αριθμός της πρώτης διαφάνειας ορίζεται σε 10:

// Δημιουργεί ένα αντικείμενο Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης
var pres = new aspose.slides.Presentation("HelloWorld.pptx");
try {
    // Λαμβάνει τον αριθμό της πρώτης διαφάνειας
    var firstSlideNumber = pres.getFirstSlideNumber();
    // Ορίζει τον αριθμό της πρώτης διαφάνειας
    pres.setFirstSlideNumber(10);
    // Αποθηκεύει την τροποποιημένη παρουσίαση
    pres.save("Set_Slide_Number_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    pres.dispose();
}

Αν προτιμάτε να παραλείψετε την πρώτη διαφάνεια, μπορείτε να ξεκινήσετε την αρίθμηση από τη δεύτερη διαφάνεια (και να κρύψετε την αρίθμηση για την πρώτη διαφάνεια) με αυτόν τον τρόπο:

var presentation = new aspose.slides.Presentation();
try {
    var layoutSlide = presentation.getLayoutSlides().getByType(aspose.slides.SlideLayoutType.Blank);
    presentation.getSlides().addEmptySlide(layoutSlide);
    presentation.getSlides().addEmptySlide(layoutSlide);
    presentation.getSlides().addEmptySlide(layoutSlide);
    // Ορίζει τον αριθμό για την πρώτη διαφάνεια της παρουσίασης
    presentation.setFirstSlideNumber(0);
    // Εμφανίζει τους αριθμούς διαφανειών για όλες τις διαφάνειες
    presentation.getHeaderFooterManager().setAllSlideNumbersVisibility(true);
    // Κρύβει τον αριθμό διαφάνειας για την πρώτη διαφάνεια
    presentation.getSlides().get_Item(0).getHeaderFooterManager().setSlideNumberVisibility(false);
    // Αποθηκεύει την τροποποιημένη παρουσίαση
    presentation.save("output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (presentation != null) {
        presentation.dispose();
    }
}

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

Ταιριάζει ο αριθμός διαφάνειας που βλέπει ο χρήστης με τον μηδενικό δείκτη της συλλογής;

Ο αριθμός που εμφανίζεται σε μια διαφάνεια μπορεί να ξεκινά από μια αυθαίρετη τιμή (π.χ., 10) και δεν χρειάζεται να ταιριάζει με τον δείκτη· η σχέση ελέγχεται από τη ρύθμιση του first slide number της παρουσίασης.

Επηρεάζουν οι κρυμμένες διαφάνειες την αρίθμηση;

Ναι. Μια κρυμμένη διαφάνεια παραμένει στη συλλογή και λαμβάνεται υπόψη στην αρίθμηση· το «κρυφό» αφορά την εμφάνιση, όχι τη θέση της στη συλλογή.

Αλλάζει ο δείκτης μιας διαφάνειας όταν προστίθενται ή αφαιρούνται άλλες διαφάνειες;

Ναι. Οι δείκτες αντικατοπτρίζουν πάντα τη τρέχουσα σειρά των διαφανειών και επαναϋπολογίζονται κατά τις λειτουργίες εισαγωγής, διαγραφής και μετακίνησης.