Πρόσβαση σε Διαφάνειες Παρουσίασης σε .NET

Επισκόπηση

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

Θα μάθετε επίσης πώς να αλλάζετε τη θέση μιας διαφάνειας ορίζοντας την ιδιότητα SlideNumber και πώς να ορίζετε τον αρχικό αριθμό διαφάνειας για μια παρουσίαση με την ιδιότητα FirstSlideNumber. Τα παραδείγματα δείχνουν τη φόρτωση μιας παρουσίασης, την απόκτηση αναφορών σε διαφάνειες, την ενημέρωση της σειράς ή της αρίθμησης των διαφανειών και την αποθήκευση της τροποποιημένης παρουσίασης.

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

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

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

// Δημιουργεί ένα αντικείμενο Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης
Presentation presentation = new Presentation("AccessSlides.pptx");

// Gets a slide's reference through its index
ISlide slide = presentation.Slides[0];

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

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

// Δημιουργεί ένα αντικείμενο Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης
Presentation presentation = new Presentation("AccessSlides.pptx");

// Λαμβάνει το ID μιας διαφάνειας
uint id = presentation.Slides[0].SlideId;

// Προσπελάζει τη διαφάνεια μέσω του ID της
IBaseSlide slide = presentation.GetSlideById(id);

Αλλαγή Θέσης Διαφάνειας

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

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

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

// Δημιουργεί ένα αντικείμενο Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης
using (Presentation pres = new Presentation("ChangePosition.pptx"))
{
    // Λαμβάνει τη διαφάνεια της οποίας η θέση θα αλλάξει
    ISlide sld = pres.Slides[0];

    // Ορίζει τη νέα θέση για τη διαφάνεια
    sld.SlideNumber = 2;

    // Αποθηκεύει την τροποποιημένη παρουσίαση
    pres.Save("Aspose_out.pptx", SaveFormat.Pptx);
}

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

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

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

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

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

// Δημιουργεί ένα αντικείμενο Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης
using (Presentation presentation = new Presentation("HelloWorld.pptx"))
{
    // Λαμβάνει τον αριθμό της διαφάνειας
    int firstSlideNumber = presentation.FirstSlideNumber;

    // Ορίζει τον αριθμό της διαφάνειας
    presentation.FirstSlideNumber=10;
    
    // Αποθηκεύει την τροποποιημένη παρουσίαση
    presentation.Save("Set_Slide_Number_out.pptx", SaveFormat.Pptx);
}

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

using (var presentation = new Presentation())
{
    var layoutSlide = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank);
    presentation.Slides.AddEmptySlide(layoutSlide);
    presentation.Slides.AddEmptySlide(layoutSlide);
    presentation.Slides.AddEmptySlide(layoutSlide);

    // Ορίζει τον αριθμό για τη πρώτη διαφάνεια της παρουσίασης
    presentation.FirstSlideNumber = 0;

    // Εμφανίζει τους αριθμούς διαφανειών για όλες τις διαφάνειες
    presentation.HeaderFooterManager.SetAllSlideNumbersVisibility(true);

    // Κρύβει τον αριθμό διαφάνειας για την πρώτη διαφάνεια
    presentation.Slides[0].HeaderFooterManager.SetSlideNumberVisibility(false);

    // Αποθηκεύει την τροποποιημένη παρουσίαση
    presentation.Save("output.pptx", SaveFormat.Pptx);
}

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

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

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

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

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

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

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