Κλωνοποίηση διαφανειών παρουσίασης σε Java
Εισαγωγή
Η κλωνοποίηση είναι η διαδικασία δημιουργίας ακριβούς αντιγράφου ή απομιμήσεως κάτι. Το Aspose.Slides for Java επιτρέπει επίσης τη δημιουργία αντιγράφου ή κλώνου οποιασδήποτε διαφάνειας και στη συνέχεια την εισαγωγή αυτής της κλωνοποιημένης διαφάνειας στην τρέχουσα ή σε οποιαδήποτε άλλη ανοιγμένη παρουσίαση. Η διαδικασία κλωνοποίησης διαφάνειας δημιουργεί μια νέα διαφάνεια που μπορεί να τροποποιηθεί από προγραμματιστές χωρίς να αλλάξει η αρχική διαφάνεια. Υπάρχουν πολλές πιθανές μέθοδοι κλωνοποίησης διαφάνειας:
- Κλωνοποίηση στο τέλος εντός μιας παρουσίασης.
- Κλωνοποίηση σε άλλη θέση εντός της παρουσίασης.
- Κλωνοποίηση στο τέλος σε άλλη παρουσίαση.
- Κλωνοποίηση σε άλλη θέση σε άλλη παρουσίαση.
- Κλωνοποίηση σε συγκεκριμένη θέση σε άλλη παρουσίαση.
Στο Aspose.Slides for Java, (μια συλλογή αντικειμένων ISlide) που εκτίθεται από το αντικείμενο Presentation παρέχει τις μεθόδους addClone και insertClone για την εκτέλεση των παραπάνω τύπων κλωνοποίησης διαφάνειας.
Κλωνοποίηση διαφάνειας στο τέλος μιας παρουσίασης
Αν θέλετε να κλωνοποιήσετε μια διαφάνεια και να τη χρησιμοποιήσετε στο ίδιο αρχείο παρουσίασης στο τέλος των υφιστάμενων διαφανειών, χρησιμοποιήστε τη μέθοδο addClone σύμφωνα με τα παρακάτω βήματα:
- Δημιουργήστε μια παρουσία της κλάσης Presentation.
- Δημιουργήστε μια παρουσία της κλάσης ISlideCollection κάνοντας αναφορά στη συλλογή Slides που εκτίθεται από το αντικείμενο Presentation.
- Καλέστε τη μέθοδο addClone που εκτίθεται από το αντικείμενο ISlideCollection και περάστε τη διαφάνεια που θα κλωνοποιηθεί ως παράμετρο στη μέθοδο addClone.
- Γράψτε το τροποποιημένο αρχείο παρουσίασης.
Στο παρακάτω παράδειγμα, κλωνοποιήσαμε μια διαφάνεια (που βρίσκεται στην πρώτη θέση – δείκτης μηδέν – της παρουσίασης) στο τέλος της παρουσίασης.
// Δημιουργήστε ένα αντικείμενο Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης
Presentation pres = new Presentation("CloneWithinSamePresentationToEnd.pptx");
try {
// Κλωνοποιήστε τη ζητούμενη διαφάνεια στο τέλος της συλλογής διαφανειών στην ίδια παρουσίαση
ISlideCollection slds = pres.getSlides();
slds.addClone(pres.getSlides().get_Item(0));
// Αποθηκεύστε την τροποποιημένη παρουσίαση στον δίσκο
pres.save("Aspose_CloneWithinSamePresentationToEnd_out.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
Κλωνοποίηση διαφάνειας σε άλλη θέση εντός μιας παρουσίασης
Αν θέλετε να κλωνοποιήσετε μια διαφάνεια και να τη χρησιμοποιήσετε στο ίδιο αρχείο παρουσίασης αλλά σε διαφορετική θέση, χρησιμοποιήστε τη μέθοδο insertClone:
- Δημιουργήστε μια παρουσία της κλάσης Presentation.
- Δημιουργήστε μια παρουσία της κλάσης κάνοντας αναφορά στη συλλογή Slides που εκτίθεται από το αντικείμενο Presentation.
- Καλέστε τη μέθοδο insertClone που εκτίθεται από το αντικείμενο ISlideCollection και περάστε τη διαφάνεια που θα κλωνοποιηθεί μαζί με τον δείκτη για τη νέα θέση ως παράμετρο στη μέθοδο insertClone.
- Γράψτε την τροποποιημένη παρουσίαση ως αρχείο PPTX.
Στο παρακάτω παράδειγμα, κλωνοποιήσαμε μια διαφάνεια (που βρίσκεται στον δείκτη μηδέν – θέση 1 – της παρουσίασης) στον δείκτη 1 – Θέση 2 – της παρουσίασης.
// Δημιουργήστε αντικείμενο Presentation που αντιπροσωπεύει αρχείο παρουσίασης
Presentation pres = new Presentation("CloneWithInSamePresentation.pptx");
try {
// Κλωνοποιήστε τη ζητούμενη διαφάνεια στο τέλος της συλλογής διαφανειών στην ίδια παρουσίαση
ISlideCollection slds = pres.getSlides();
// Κλωνοποιήστε τη ζητούμενη διαφάνεια στον καθορισμένο δείκτη στην ίδια παρουσίαση
slds.insertClone(2, pres.getSlides().get_Item(1));
// Αποθηκεύστε την τροποποιημένη παρουσίαση στον δίσκο
pres.save("Aspose_CloneWithInSamePresentation_out.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
Κλωνοποίηση διαφάνειας στο τέλος άλλης παρουσίασης
Αν χρειάζεται να κλωνοποιήσετε μια διαφάνεια από μια παρουσίαση και να τη χρησιμοποιήσετε σε άλλη παρουσίαση, στο τέλος των υφιστάμενων διαφανειών:
- Δημιουργήστε μια παρουσία της κλάσης Presentation που περιέχει την παρουσίαση από την οποία θα κλωνοποιηθεί η διαφάνεια.
- Δημιουργήστε μια παρουσία της κλάσης Presentation που περιέχει την προοριστική παρουσίαση στην οποία θα προστεθεί η διαφάνεια.
- Δημιουργήστε μια παρουσία της κλάσης ISlideCollection κάνοντας αναφορά στη συλλογή Slides που εκτίθεται από το αντικείμενο Presentation της προοριστικής παρουσίασης.
- Καλέστε τη μέθοδο addClone που εκτίθεται από το αντικείμενο ISlideCollection και περάστε τη διαφάνεια από την πηγαία παρουσίαση ως παράμετρο στη μέθοδο addClone.
- Γράψτε το τροποποιημένο αρχείο προοριστικής παρουσίασης.
Στο παρακάτω παράδειγμα, κλωνοποιήσαμε μια διαφάνεια (από τον πρώτο δείκτη της πηγαίας παρουσίασης) στο τέλος της προοριστικής παρουσίασης.
// Δημιουργήστε αντικείμενο Presentation για τη φόρτωση του πηγαίου αρχείου παρουσίασης
Presentation srcPres = new Presentation("CloneAtEndOfAnother.pptx");
try {
// Δημιουργήστε αντικείμενο Presentation για την προοριστική PPTX (όπου η διαφάνεια θα κλωνοποιηθεί)
Presentation destPres = new Presentation();
try {
// Κλωνοποιήστε τη ζητούμενη διαφάνεια από την πηγαία παρουσίαση στο τέλος της συλλογής διαφανειών στην προοριστική παρουσίαση
ISlideCollection slds = destPres.getSlides();
slds.addClone(srcPres.getSlides().get_Item(0));
// Αποθηκεύστε την προοριστική παρουσίαση στον δίσκο
destPres.save("Aspose2_out.pptx", SaveFormat.Pptx);
} finally {
destPres.dispose();
}
} finally {
srcPres.dispose();
}
Κλωνοποίηση διαφάνειας σε άλλη θέση σε άλλη παρουσίαση
Αν χρειάζεται να κλωνοποιήσετε μια διαφάνεια από μια παρουσίαση και να τη χρησιμοποιήσετε σε άλλη παρουσίαση, σε συγκεκριμένη θέση:
- Δημιουργήστε μια παρουσία της κλάσης Presentation που περιέχει την πηγαία παρουσίαση από την οποία θα κλωνοποιηθεί η διαφάνεια.
- Δημιουργήστε μια παρουσία της κλάσης Presentation που περιέχει την παρουσίαση στην οποία θα προστεθεί η διαφάνεια.
- Δημιουργήστε μια παρουσία της κλάσης ISlideCollection κάνοντας αναφορά στη συλλογή Slides που εκτίθεται από το αντικείμενο Presentation της προοριστικής παρουσίασης.
- Καλέστε τη μέθοδο insertClone που εκτίθεται από το αντικείμενο ISlideCollection και περάστε τη διαφάνεια από την πηγαία παρουσίαση μαζί με τη ζητούμενη θέση ως παράμετρο στη μέθοδο insertClone.
- Γράψτε το τροποποιημένο αρχείο προοριστικής παρουσίασης.
Στο παρακάτω παράδειγμα, κλωνοποιήσαμε μια διαφάνεια (από τον δείκτη μηδέν της πηγαίας παρουσίασης) στον δείκτη 1 (θέση 2) της προοριστικής παρουσίασης.
// Δημιουργήστε αντικείμενο Presentation για τη φόρτωση του πηγαίου αρχείου παρουσίασης
Presentation srcPres = new Presentation("CloneAtEndOfAnother.pptx");
try {
// Δημιουργήστε αντικείμενο Presentation για την προοριστική PPTX (όπου θα κλωνοποιηθεί η διαφάνεια)
Presentation destPres = new Presentation();
try {
// Κλωνοποιήστε τη ζητούμενη διαφάνεια από την πηγαία παρουσίαση στο τέλος της συλλογής διαφανειών στην προοριστική παρουσίαση
ISlideCollection slds = destPres.getSlides();
slds.insertClone(2, srcPres.getSlides().get_Item(0));
// Αποθηκεύστε την προοριστική παρουσίαση στον δίσκο
destPres.save("Aspose2_out.pptx", SaveFormat.Pptx);
} finally {
destPres.dispose();
}
} finally {
srcPres.dispose();
}
Κλωνοποίηση διαφάνειας σε συγκεκριμένη θέση σε άλλη παρουσίαση
Αν χρειάζεται να κλωνοποιήσετε μια διαφάνεια με κύρια διαφάνεια (master slide) από μία παρουσίαση και να τη χρησιμοποιήσετε σε άλλη παρουσίαση, πρέπει πρώτα να κλωνοποιήσετε τη ζητούμενη κύρια διαφάνεια από την πηγαία παρουσίαση στην προοριστική παρουσίαση. Στη συνέχεια, χρησιμοποιήστε αυτή τη κύρια διαφάνεια για την κλωνοποίηση της διαφάνειας με κύρια διαφάνεια. Η μέθοδος addClone(ISlide, IMasterSlide, boolean) αναμένει μια κύρια διαφάνεια από την προοριστική παρουσίαση και όχι από την πηγαία. Για να κλωνοποιήσετε τη διαφάνεια με κύρια διαφάνεια, ακολουθήστε τα παρακάτω βήματα:
- Δημιουργήστε μια παρουσία της κλάσης Presentation που περιέχει την πηγαία παρουσίαση από την οποία θα κλωνοποιηθεί η διαφάνεια.
- Δημιουργήστε μια παρουσία της κλάσης Presentation που περιέχει την προοριστική παρουσίαση στην οποία θα κλωνοποιηθεί η διαφάνεια.
- Πρόσβαση στη διαφάνεια που θα κλωνοποιηθεί μαζί με την κύρια διαφάνεια.
- Δημιουργήστε μια παρουσία της κλάσης IMasterSlideCollection κάνοντας αναφορά στη συλλογή Masters που εκτίθεται από το αντικείμενο Presentation της προοριστικής παρουσίασης.
- Καλέστε τη μέθοδο addClone που εκτίθεται από το αντικείμενο IMasterSlideCollection και περάστε τη κύρια διαφάνεια από το πηγαίο PPTX ως παράμετρο στη μέθοδο addClone.
- Δημιουργήστε μια παρουσία της κλάσης ISlideCollection ορίζοντας την αναφορά στη συλλογή Slides που εκτίθεται από το αντικείμενο Presentation της προοριστικής παρουσίασης.
- Καλέστε τη μέθοδο addClone που εκτίθεται από το αντικείμενο ISlideCollection και περάστε τη διαφάνεια από την πηγαία παρουσίαση προς κλωνοποίηση και τη κύρια διαφάνεια ως παράμετρο στη μέθοδο addClone.
- Γράψτε το τροποποιημένο αρχείο προοριστικής παρουσίασης.
Στο παρακάτω παράδειγμα, κλωνοποιήσαμε μια διαφάνεια με κύρια διαφάνεια (που βρίσκεται στον δείκτη μηδέν της πηγαίας παρουσίασης) στο τέλος της προοριστικής παρουσίασης χρησιμοποιώντας μια κύρια διαφάνεια από τη διαφάνεια πηγής.
// Δημιουργήστε αντικείμενο Presentation για τη φόρτωση του πηγαίου αρχείου παρουσίασης
Presentation srcPres = new Presentation("CloneToAnotherPresentationWithMaster.pptx");
try {
// Δημιουργήστε αντικείμενο Presentation για την προοριστική παρουσίαση (όπου η διαφάνεια θα κλωνοποιηθεί)
Presentation destPres = new Presentation();
try {
// Δημιουργήστε ISlide από τη συλλογή διαφανειών στην πηγαία παρουσίαση μαζί με
// Κύρια διαφάνεια
ISlide SourceSlide = srcPres.getSlides().get_Item(0);
IMasterSlide SourceMaster = SourceSlide.getLayoutSlide().getMasterSlide();
// Κλωνοποιήστε τη ζητούμενη κύρια διαφάνεια από την πηγαία παρουσίαση στη συλλογή των κύριων διαφανειών στην
// Προοριστική παρουσίαση
IMasterSlideCollection masters = destPres.getMasters();
IMasterSlide DestMaster = SourceSlide.getLayoutSlide().getMasterSlide();
// Κλωνοποιήστε τη ζητούμενη κύρια διαφάνεια από την πηγαία παρουσίαση στη συλλογή των κύριων διαφανειών στην
// Προοριστική παρουσίαση
IMasterSlide iSlide = masters.addClone(SourceMaster);
// Κλωνοποιήστε τη ζητούμενη διαφάνεια από την πηγαία παρουσίαση με την επιθυμητή κύρια διαφάνεια στο τέλος της
// Συλλογής διαφανειών στην προοριστική παρουσίαση
ISlideCollection slds = destPres.getSlides();
slds.addClone(SourceSlide, iSlide, true);
// Αποθηκεύστε την προοριστική παρουσίαση στον δίσκο
destPres.save("CloneToAnotherPresentationWithMaster_out.pptx", SaveFormat.Pptx);
} finally {
destPres.dispose();
}
} finally {
srcPres.dispose();
}
Κλωνοποίηση διαφάνειας στο τέλος καθορισμένου τμήματος
Αν θέλετε να κλωνοποιήσετε μια διαφάνεια και να τη χρησιμοποιήσετε στο ίδιο αρχείο παρουσίασης αλλά σε διαφορετικό τμήμα, χρησιμοποιήστε τη addClone μέθοδο που εκτίθεται από τη διεπαφή ISlideCollection. Το Aspose.Slides for Java επιτρέπει την κλωνοποίηση μιας διαφάνειας από το πρώτο τμήμα και την εισαγωγή της κλωνοποιημένης διαφάνειας στο δεύτερο τμήμα της ίδιας παρουσίασης.
Το παρακάτω απόσπασμα κώδικα δείχνει πώς να κλωνοποιήσετε μια διαφάνεια και να την εισάγετε σε καθορισμένο τμήμα.
IPresentation presentation = new Presentation();
try {
presentation.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 200, 50, 300, 100);
presentation.getSections().addSection("Section 1", presentation.getSlides().get_Item(0));
ISection section2 = presentation.getSections().appendEmptySection("Section 2");
presentation.getSlides().addClone(presentation.getSlides().get_Item(0), section2);
// Αποθηκεύστε την προοριστική παρουσίαση στον δίσκο
presentation.save(dataDir + "CloneSlideIntoSpecifiedSection.pptx", SaveFormat.Pptx);
} finally {
if (presentation != null) presentation.dispose();
}
Συχνές ερωτήσεις
Κλωνοποιούνται οι σημειώσεις ομιλητή και τα σχόλια του ελεγκτή;
Ναι. Η σελίδα σημειώσεων και τα σχόλια ελέγχου περιλαμβάνονται στην κλωνοποίηση. Αν δεν τα θέλετε, remove them μετά την εισαγωγή.
Πώς γίνεται η διαχείριση των γραφημάτων και των πηγών δεδομένων τους;
Το αντικείμενο γραφήματος, η μορφοποίηση και τα ενσωματωμένα δεδομένα αντιγράφονται. Αν το γράφημα ήταν συνδεδεμένο με εξωτερική πηγή (π.χ. ένα ενσωματωμένο OLE‑workbook), η σύνδεση διατηρείται ως OLE object. Μετά τη μεταφορά μεταξύ αρχείων, ελέγξτε τη διαθεσιμότητα των δεδομένων και τη συμπεριφορά ανανέωσης.
Μπορώ να ελέγξω τη θέση εισαγωγής και τα τμήματα για την κλωνοποίηση;
Ναι. Μπορείτε να εισάγετε την κλωνοποιημένη διαφάνεια σε συγκεκριμένο δείκτη διαφάνειας και να τη τοποθετήσετε σε επιλεγμένο section. Αν το στόχο τμήμα δεν υπάρχει, δημιουργήστε το πρώτα και μετά μετακινήστε τη διαφάνεια σε αυτό.