Πρόσβαση σε Διαφάνειες Παρουσίασης σε Java
Επισκόπηση
Αυτό το άρθρο εξηγεί πώς να προσπελάσετε και να διαχειριστείτε διαφάνειες σε μια παρουσίαση χρησιμοποιώντας το Aspose.Slides. Δείχνει πώς να ανακτήσετε διαφάνειες με βάση τον μηδενικό τους δείκτη από τη συλλογή διαφανειών και πώς να προσπελάσετε μια διαφάνεια με το μοναδικό της αναγνωριστικό χρησιμοποιώντας τη μέθοδο getSlideById.
Θα μάθετε επίσης πώς να αλλάξετε τη θέση μιας διαφάνειας χρησιμοποιώντας τη μέθοδο setSlideNumber και πώς να ορίσετε τον αριθμό εκκίνησης της πρώτης διαφάνειας για μια παρουσίαση με τη μέθοδο setFirstSlideNumber. Τα παραδείγματα δείχνουν τη φόρτωση μιας παρουσίασης, την απόκτηση αναφορών σε διαφάνειες, την ενημέρωση της σειράς ή της αρίθμησης των διαφανειών και την αποθήκευση της τροποποιημένης παρουσίασης.
Πρόσβαση σε διαφάνεια με δείκτη
Όλες οι διαφάνειες σε μια παρουσίαση ταξινομούνται αριθμητικά με βάση τη θέση της διαφάνειας ξεκινώντας από το 0. Η πρώτη διαφάνεια είναι προσβάσιμη μέσω του δείκτη 0· η δεύτερη διαφάνεια είναι προσβάσιμη μέσω του δείκτη 1· κ.ο.κ.
Η κλάση Presentation, η οποία αντιπροσωπεύει ένα αρχείο παρουσίασης, εκθέτει όλες τις διαφάνειες ως μια συλλογή ISlideCollection (συλλογή αντικειμένων ISlide). Αυτός ο κώδικας Java δείχνει πώς να προσπελάσετε μια διαφάνεια μέσω του δείκτη της:
// Δημιουργεί ένα αντικείμενο Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης
Presentation pres = new Presentation("demo.pptx");
try {
// Προσπελάζει μια διαφάνεια χρησιμοποιώντας τον δείκτη της
ISlide slide = pres.getSlides().get_Item(0);
} finally {
pres.dispose();
}
Πρόσβαση σε διαφάνεια με ID
Κάθε διαφάνεια σε μια παρουσίαση διαθέτει ένα μοναδικό ID. Μπορείτε να χρησιμοποιήσετε τη μέθοδο getSlideById (που εκτίθεται από την κλάση Presentation) για να στοχεύσετε αυτό το ID. Αυτός ο κώδικας Java δείχνει πώς να δώσετε ένα έγκυρο ID διαφάνειας και να προσπελάσετε τη διαφάνεια μέσω της μεθόδου getSlideById:
// Δημιουργεί ένα αντικείμενο Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης
Presentation pres = new Presentation("demo.pptx");
try {
// Λαμβάνει το ID μιας διαφάνειας
int id = (int) pres.getSlides().get_Item(0).getSlideId();
// Προσπελάζει τη διαφάνεια μέσω του ID της
IBaseSlide slide = pres.getSlideById(id);
} finally {
pres.dispose();
}
Αλλαγή θέσης διαφάνειας
Το Aspose.Slides σάς επιτρέπει να αλλάξετε τη θέση μιας διαφάνειας. Για παράδειγμα, μπορείτε να ορίσετε ότι η πρώτη διαφάνεια πρέπει να γίνει η δεύτερη διαφάνεια.
- Δημιουργήστε μια παρουσία της κλάσης Presentation.
- Αποκτήστε την αναφορά της διαφάνειας (της οποίας θέση θέλετε να αλλάξετε) μέσω του δείκτη της.
- Ορίστε νέα θέση για τη διαφάνεια μέσω της ιδιότητας setSlideNumber.
- Αποθηκεύστε την τροποποιημένη παρουσίαση.
Αυτός ο κώδικας Java δείχνει μια ενέργεια όπου η διαφάνεια στη θέση 1 μετακινείται στη θέση 2:
// Δημιουργεί ένα αντικείμενο Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης
Presentation pres = new Presentation("Presentation.pptx");
try {
// Λαμβάνει τη διαφάνεια της οποίας η θέση θα αλλάξει
ISlide sld = pres.getSlides().get_Item(0);
// Ορίζει τη νέα θέση για τη διαφάνεια
sld.setSlideNumber(2);
// Αποθηκεύει την τροποποιημένη παρουσίαση
pres.save("helloworld_Pos.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
Η πρώτη διαφάνεια έγινε δεύτερη· η δεύτερη διαφάνεια έγινε πρώτη. Όταν αλλάζετε τη θέση μιας διαφάνειας, οι άλλες διαφάνειες προσαρμόζονται αυτόματα.
Ορισμός αριθμού διαφάνειας
Χρησιμοποιώντας την ιδιότητα setFirstSlideNumber (που εκτίθεται από την κλάση Presentation), μπορείτε να ορίσετε νέο αριθμό για την πρώτη διαφάνεια μιας παρουσίασης. Αυτή η ενέργεια προκαλεί την επανυπολογισμό των αριθμών των άλλων διαφανειών.
- Δημιουργήστε μια παρουσία της κλάσης Presentation.
- Αποκτήστε τον αριθμό της διαφάνειας.
- Ορίστε τον αριθμό της διαφάνειας.
- Αποθηκεύστε την τροποποιημένη παρουσίαση.
Αυτός ο κώδικας Java δείχνει μια ενέργεια όπου ο αριθμός της πρώτης διαφάνειας ορίζεται στο 10:
// Δημιουργεί ένα αντικείμενο Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης
Presentation pres = new Presentation("HelloWorld.pptx");
try {
// Λαμβάνει τον αριθμό της πρώτης διαφάνειας
int firstSlideNumber = pres.getFirstSlideNumber();
// Ορίζει τον αριθμό της πρώτης διαφάνειας
pres.setFirstSlideNumber(10);
// Αποθηκεύει την τροποποιημένη παρουσίαση
pres.save("Set_Slide_Number_out.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
Αν προτιμάτε να παραλείψετε την πρώτη διαφάνεια, μπορείτε να ξεκινήσετε την αρίθμηση από τη δεύτερη διαφάνεια (και να κρύψετε την αρίθμηση για την πρώτη διαφάνεια) με αυτόν τον τρόπο:
Presentation presentation = new Presentation();
try {
ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(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", SaveFormat.Pptx);
} finally {
if (presentation != null) presentation.dispose();
}
Συχνές ερωτήσεις
Ο αριθμός διαφάνειας που βλέπει ο χρήστης αντιστοιχεί στον μηδενικό δείκτη της συλλογής;
Ο αριθμός που εμφανίζεται σε μια διαφάνεια μπορεί να ξεκινά από αυθαίρετη τιμή (π.χ., 10) και δεν χρειάζεται να ταιριάζει με τον δείκτη· η σχέση ελέγχεται από τη ρύθμιση πρώτου αριθμού διαφάνειας της παρουσίασης.
Επηρεάζουν οι κρυμμένες διαφάνειες την αρίθμηση;
Ναι. Μια κρυμμένη διαφάνεια παραμένει στη συλλογή και υπολογίζεται στην αρίθμηση· το «κρυφό» αναφέρεται στην εμφάνιση, όχι στη θέση της στη συλλογή.
Αλλάζει ο δείκτης μιας διαφάνειας όταν προστίθενται ή αφαιρούνται άλλες διαφάνειες;
Ναι. Οι δείκτες πάντα αντικατοπτρίζουν την τρέχουσα σειρά των διαφανειών και επανυπολογίζονται κατά τις λειτουργίες εισαγωγής, διαγραφής και μετακίνησης.