Κλωνοποίηση Διαφανειών Παρουσίασης σε .NET
Εισαγωγή
Η κλωνοποίηση είναι η διαδικασία δημιουργίας ακριβούς αντιγράφου ή αντιτύπου κάτι. Το Aspose.Slides επίσης επιτρέπει την αντιγραφή (κλωνοποίηση) οποιασδήποτε διαφάνειας και στη συνέχεια την εισαγωγή της κλωνοποιημένης διαφάνειας στην τρέχουσα παρουσίαση ή σε οποιαδήποτε άλλη ανοιχτή παρουσίαση. Η κλωνοποίηση διαφάνειας δημιουργεί μια νέα διαφάνεια που οι προγραμματιστές μπορούν να τροποποιήσουν χωρίς να επηρεάσουν την αρχική διαφάνεια. Υπάρχουν πολλοί τρόποι κλωνοποίησης μιας διαφάνειας:
- Κλωνοποίηση στο τέλος μιας παρουσίασης.
- Κλωνοποίηση σε άλλη θέση εντός μιας παρουσίασης.
- Κλωνοποίηση στο τέλος άλλης παρουσίασης.
- Κλωνοποίηση σε άλλη θέση σε άλλη παρουσίαση.
- Κλωνοποίηση μαζί με τη μητρική διαφάνειά της σε άλλη παρουσίαση.
Στο Aspose.Slides για .NET, η συλλογή διαφανειών (μια συλλογή αντικειμένων ISlide ) που εκτίθεται από το αντικείμενο Presentation παρέχει τις μεθόδους AddClone και InsertClone για την εκτέλεση των παραπάνω λειτουργιών κλωνοποίησης διαφάνειας.
Κλωνοποίηση Διαφάνειας στο Τέλος μιας Παρουσίασης
Εάν θέλετε να κλωνοποιήσετε μια διαφάνεια και στη συνέχεια να τη χρησιμοποιήσετε μέσα στο ίδιο αρχείο παρουσίασης στο τέλος των υφιστάμενων διαφανειών, χρησιμοποιήστε τη μέθοδο AddClone σύμφωνα με τα παρακάτω βήματα:
- Δημιουργήστε μια παρουσία του κλάσματος Presentation.
- Δημιουργήστε ένα αντικείμενο της κλάσης ISlideCollection αναφερόμενοι στη συλλογή Slides που εκτίθεται από το αντικείμενο Presentation.
- Καλέστε τη μέθοδο AddClone που εκτίθεται από το αντικείμενο ISlideCollection και περάστε τη διαφάνεια που θα κλωνοποιηθεί ως παράμετρο στη μέθοδο AddClone.
- Γράψτε το τροποποιημένο αρχείο παρουσίασης.
Στο παρακάτω παράδειγμα, κλωνοποιήσαμε μια διαφάνεια (που βρίσκεται στην πρώτη θέση – δείκτης μηδέν – της παρουσίασης) στο τέλος της παρουσίασης.
using Aspose.Slides;
using Aspose.Slides.Export;
// Δημιουργία αντικειμένου Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης
using (Presentation pres = new Presentation("CloneWithinSamePresentationToEnd.pptx"))
{
// Κλωνοποιήστε τη ζητούμενη διαφάνεια στο τέλος της συλλογής διαφανειών στην ίδια παρουσίαση
ISlideCollection slds = pres.Slides;
slds.AddClone(pres.Slides[0]);
// Αποθήκευση της τροποποιημένης παρουσίασης στο δίσκο
pres.Save("Aspose_CloneWithinSamePresentationToEnd_out.pptx", SaveFormat.Pptx);
}
Κλωνοποίηση Διαφάνειας σε Άλλη Θέση Εντός μιας Παρουσίασης
Εάν θέλετε να κλωνοποιήσετε μια διαφάνεια και στη συνέχεια να τη χρησιμοποιήσετε μέσα στο ίδιο αρχείο παρουσίασης αλλά σε διαφορετική θέση, χρησιμοποιήστε τη μέθοδο InsertClone:
- Δημιουργήστε μια παρουσία του κλάσματος Presentation.
- Δημιουργήστε το αντικείμενο αναφερόμενοι στη συλλογή Slides που εκτίθεται από το αντικείμενο Presentation.
- Καλέστε τη μέθοδο InsertClone που εκτίθεται από το αντικείμενο ISlideCollection και περάστε τη διαφάνεια που θα κλωνοποιηθεί μαζί με το δείκτη για τη νέα θέση ως παράμετρο στη μέθοδο InsertClone.
- Γράψτε την τροποποιημένη παρουσίαση ως αρχείο PPTX.
Στο παρακάτω παράδειγμα, κλωνοποιήσαμε μια διαφάνεια (που βρίσκεται στον δείκτη 1 – θέση 2 – της παρουσίασης) στο δείκτη 2 – θέση 3 – της παρουσίασης.
using Aspose.Slides;
using Aspose.Slides.Export;
// Δημιουργία αντικειμένου Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης
using (Presentation pres = new Presentation("CloneWithInSamePresentation.pptx"))
{
// Κλωνοποιήστε τη ζητούμενη διαφάνεια στο τέλος της συλλογής διαφανειών στην ίδια παρουσίαση
ISlideCollection slds = pres.Slides;
// Κλωνοποιήστε τη ζητούμενη διαφάνεια στον καθορισμένο δείκτη στην ίδια παρουσίαση
slds.InsertClone(2, pres.Slides[1]);
// Αποθήκευση της τροποποιημένης παρουσίασης στο δίσκο
pres.Save("Aspose_CloneWithInSamePresentation_out.pptx", SaveFormat.Pptx);
}
Κλωνοποίηση Διαφάνειας στο Τέλος Άλλης Παρουσίασης
Εάν χρειάζεστε την κλωνοποίηση μιας διαφάνειας από μια παρουσίαση και τη χρήση της σε άλλη παρουσίαση, στο τέλος των υφιστάμενων διαφανειών:
- Δημιουργήστε μια παρουσία του κλάσματος Presentation που περιέχει την παρουσίαση από την οποία θα κλωνοποιηθεί η διαφάνεια.
- Δημιουργήστε μια παρουσία του κλάσματος Presentation που περιέχει την προορισμένη παρουσίαση στην οποία θα προστεθεί η διαφάνεια.
- Δημιουργήστε το αντικείμενο ISlideCollection αναφερόμενοι στη συλλογή Slides που εκτίθεται από το αντικείμενο Presentation της προορισμένης παρουσίασης.
- Καλέστε τη μέθοδο AddClone που εκτίθεται από το αντικείμενο ISlideCollection και περάστε τη διαφάνεια από την πηγαία παρουσίαση ως παράμετρο στη μέθοδο AddClone.
- Γράψτε το τροποποιημένο αρχείο της προορισμένης παρουσίασης.
Στο παρακάτω παράδειγμα, κλωνοποιήσαμε μια διαφάνεια (από τον πρώτο δείκτη της πηγαίας παρουσίασης) στο τέλος της προορισμένης παρουσίασης.
using Aspose.Slides;
using Aspose.Slides.Export;
// Δημιουργία αντικειμένου Presentation για τη φόρτωση του αρχείου πηγαίας παρουσίασης
using (Presentation srcPres = new Presentation("CloneAtEndOfAnother.pptx"))
{
// Δημιουργία αντικειμένου Presentation για την προορισμένη PPTX (όπου η διαφάνεια θα κλωνοποιηθεί)
using (Presentation destPres = new Presentation())
{
// Κλωνοποίηση της ζητούμενης διαφάνειας από την πηγαία παρουσίαση στο τέλος της συλλογής διαφανειών στην προορισμένη παρουσίαση
ISlideCollection slds = destPres.Slides;
slds.AddClone(srcPres.Slides[0]);
// Αποθήκευση της προορισμένης παρουσίασης στο δίσκο
destPres.Save("Aspose2_out.pptx", SaveFormat.Pptx);
}
}
Κλωνοποίηση Διαφάνειας σε Άλλη Θέση σε Άλλη Παρουσίαση
Εάν χρειάζεστε την κλωνοποίηση μιας διαφάνειας από μια παρουσίαση και τη χρήση της σε άλλη παρουσίαση, σε συγκεκριμένη θέση:
- Δημιουργήστε μια παρουσία του κλάσματος Presentation που περιέχει την πηγαία παρουσίαση από την οποία θα κλωνοποιηθεί η διαφάνεια.
- Δημιουργήστε μια παρουσία του κλάσματος Presentation που περιέχει την παρουσίαση στην οποία θα προστεθεί η διαφάνεια.
- Δημιουργήστε το αντικείμενο ISlideCollection αναφερόμενοι στη συλλογή Slides της προορισμένης παρουσίασης.
- Καλέστε τη μέθοδο InsertClone που εκτίθεται από το αντικείμενο ISlideCollection και περάστε τη διαφάνεια από την πηγαία παρουσίαση μαζί με την επιθυμητή θέση ως παράμετρο στη μέθοδο InsertClone.
- Γράψτε το τροποποιημένο αρχείο της προορισμένης παρουσίασης.
Στο παρακάτω παράδειγμα, κλωνοποιήσαμε μια διαφάνεια (από το μηδενικό δείκτη της πηγαίας παρουσίασης) στον δείκτη 1 (θέση 2) της προορισμένης παρουσίασης.
using Aspose.Slides;
using Aspose.Slides.Export;
// Δημιουργία αντικειμένου Presentation για τη φόρτωση του αρχείου πηγαίας παρουσίασης
using (Presentation srcPres = new Presentation("CloneAtEndOfAnother.pptx"))
{
// Δημιουργία αντικειμένου Presentation για την προορισμένη PPTX (όπου η διαφάνεια θα κλωνοποιηθεί)
using (Presentation destPres = new Presentation())
{
ISlideCollection slds = destPres.Slides;
slds.InsertClone(2, srcPres.Slides[0]);
// Αποθήκευση της προορισμένης παρουσίασης στο δίσκο
destPres.Save("Aspose2_out.pptx", SaveFormat.Pptx);
}
}
Κλωνοποίηση Διαφάνειας με τη Μητρική Διαφάνειά της σε Άλλη Παρουσίαση
Εάν χρειάζεστε την κλωνοποίηση μιας διαφάνειας μαζί με μια μητρική διαφάνεια από μια παρουσίαση και τη χρήση τους σε άλλη παρουσίαση, πρώτα πρέπει να κλωνοποιήσετε τη ζητούμενη μητρική διαφάνεια από την πηγαία παρουσίαση στην προορισμένη παρουσίαση. Στη συνέχεια, χρησιμοποιήστε αυτή τη μητρική διαφάνεια για την κλωνοποίηση της διαφάνειας με μητρική. Η μέθοδος AddClone(ISlide, IMasterSlide) αναμένει μια μητρική διαφάνεια από την προορισμένη παρουσίαση και όχι από την πηγαία. Για να κλωνοποιήσετε τη διαφάνεια με τη μητρική, ακολουθήστε τα παρακάτω βήματα:
- Δημιουργήστε μια παρουσία του κλάσματος Presentation που περιέχει την πηγαία παρουσίαση από την οποία θα κλωνοποιηθεί η διαφάνεια.
- Δημιουργήστε μια παρουσία του κλάσματος Presentation που περιέχει την προορισμένη παρουσίαση στην οποία θα κλωνοποιηθεί η διαφάνεια.
- Προσπελάστε τη διαφάνεια που θα κλωνοποιηθεί μαζί με τη μητρική διαφάνεια.
- Δημιουργήστε το αντικείμενο IMasterSlideCollection αναφερόμενοι στη συλλογή Masters που εκτίθεται από το αντικείμενο Presentation της προορισμένης παρουσίασης.
- Καλέστε τη μέθοδο AddClone που εκτίθεται από το αντικείμενο IMasterSlideCollection και περάστε τη μητρική διαφάνεια από το πηγαίο PPTX ως παράμετρο στη μέθοδο AddClone.
- Δημιουργήστε το αντικείμενο ISlideCollection ορίζοντας την αναφορά στη συλλογή Slides που εκτίθεται από το αντικείμενο Presentation της προορισμένης παρουσίασης.
- Καλέστε τη μέθοδο AddClone που εκτίθεται από το αντικείμενο ISlideCollection και περάστε τη διαφάνεια από την πηγαία παρουσίαση που θα κλωνοποιηθεί μαζί με τη μητρική διαφάνεια ως παράμετρο στη μέθοδο AddClone.
- Γράψτε το τροποποιημένο αρχείο της προορισμένης παρουσίασης.
Στο παρακάτω παράδειγμα, κλωνοποιήσαμε μια διαφάνεια με μητρική (που βρίσκεται στο μηδενικό δείκτη της πηγαίας παρουσίασης) στο τέλος της προορισμένης παρουσίασης χρησιμοποιώντας μια μητρική από τη πηγαία διαφάνεια.
using Aspose.Slides;
using Aspose.Slides.Export;
// Δημιουργία αντικειμένου Presentation για τη φόρτωση του αρχείου πηγαίας παρουσίασης
using (Presentation srcPres = new Presentation("CloneToAnotherPresentationWithMaster.pptx"))
{
// Δημιουργία αντικειμένου Presentation για την προορισμένη παρουσίαση (όπου η διαφάνεια θα κλωνοποιηθεί)
using (Presentation destPres = new Presentation())
{
// Δημιουργία ISlide από τη συλλογή διαφανειών στην πηγαία παρουσίαση μαζί με
// Μητρική διαφάνεια
ISlide SourceSlide = srcPres.Slides[0];
IMasterSlide SourceMaster = SourceSlide.LayoutSlide.MasterSlide;
// Κλωνοποίηση της ζητούμενης μητρικής διαφάνειας από την πηγαία παρουσίαση στη συλλογή των μητρικών στην
// Προορισμένη παρουσίαση
IMasterSlideCollection masters = destPres.Masters;
IMasterSlide DestMaster = SourceSlide.LayoutSlide.MasterSlide;
// Κλωνοποίηση της ζητούμενης μητρικής διαφάνειας από την πηγαία παρουσίαση στη συλλογή των μητρικών στην
// Προορισμένη παρουσίαση
IMasterSlide iSlide = masters.AddClone(SourceMaster);
// Κλωνοποίηση της ζητούμενης διαφάνειας από την πηγαία παρουσίαση με τη ζητούμενη μητρική διαφάνεια στο τέλος της
// Συλλογής διαφανειών στην προορισμένη παρουσίαση
ISlideCollection slds = destPres.Slides;
slds.AddClone(SourceSlide, iSlide, true);
// Κλωνοποίηση της ζητούμενης μητρικής διαφάνειας από την πηγαία παρουσίαση στη συλλογή των μητρικών στην // Προορισμένη παρουσίαση
// Αποθήκευση της προορισμένης παρουσίασης στο δίσκο
destPres.Save("CloneToAnotherPresentationWithMaster_out.pptx", SaveFormat.Pptx);
}
}
Κλωνοποίηση Διαφάνειας στο Τέλος Καθορισμένου Τμήματος
Με το Aspose.Slides για .NET, μπορείτε να κλωνοποιήσετε μια διαφάνεια από ένα τμήμα μιας παρουσίασης και να την εισάγετε σε άλλο τμήμα στην ίδια παρουσίαση. Σε αυτήν την περίπτωση, πρέπει να χρησιμοποιήσετε τη μέθοδο AddClone από το Interface ISlideCollection.
Αυτός ο κώδικας C# σας δείχνει πώς να κλωνοποιήσετε μια διαφάνεια και να εισάγετε τη κλωνοποιημένη διαφάνεια σε καθορισμένο τμήμα:
using Aspose.Slides;
using Aspose.Slides.Export;
using (Presentation pres = new Presentation())
{
ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide);
slide.Shapes.AddAutoShape(ShapeType.Ellipse, 150, 150, 100, 100); // για κλωνοποίηση
ISlide slide2 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide);
ISection section = pres.Sections.AddSection("Section2", slide2);
pres.Slides.AddClone(slide, section);
pres.Save("pres.pptx", SaveFormat.Pptx);
}
Διασφάλιση Συμφωνίας Μεγέθους Διαφάνειας
Κατά την κλωνοποίηση διαφανειών σε άλλη παρουσίαση, βεβαιωθείτε ότι η προορισμένη παρουσίαση έχει το ίδιο μέγεθος διαφάνειας με την πηγή. Εάν τα μεγέθη διαφάνειας διαφέρουν, το Aspose.Slides δεν αλλάζει αυτόματα το μέγεθος των κλωνοποιημένων σχημάτων· οι αρχικές τους συντεταγμένες και διαστάσεις διατηρούνται, κάτι που μπορεί να προκαλέσει μη ευθυγράμμιση του περιεχομένου ή υπερέκταση εκτός των ορίων της διαφάνειας.
Μπορείτε να ορίσετε το μέγεθος διαφάνειας της προορισμένης παρουσίασης ώστε να ταιριάζει με την πηγή πριν την κλωνοποίηση της μητρικής και της διαφάνειας:
SizeF sourceSize = sourcePresentation.SlideSize.Size;
targetPresentation.SlideSize.SetSize(
sourceSize.Width, sourceSize.Height, SlideSizeScaleType.DoNotScale);
Κάντε αυτό πριν την κλωνοποίηση της μητρικής και της διαφάνειας.
Συχνές Ερωτήσεις
Κλωνοποιούνται οι σημειώσεις ομιλητή και τα σχόλια αξιολογητών;
Ναι. Η σελίδα σημειώσεων και τα σχόλια αξιολόγησης περιλαμβάνονται στην κλωνοποίηση. Εάν δεν τα θέλετε, αφαιρέστε τα μετά την εισαγωγή.
Πώς αντιμετωπίζονται τα διαγράμματα και οι πηγές δεδομένων τους;
Το αντικείμενο διαγράμματος, η μορφοποίηση και τα ενσωματωμένα δεδομένα αντιγράφονται. Εάν το γράφημα ήταν συνδεδεμένο με εξωτερική πηγή (π.χ., ένα ενσωματωμένο βιβλίο εργασίας OLE), η σύνδεση διατηρείται ως ένα OLE object. Μετά τη μετακίνηση μεταξύ αρχείων, ελέγξτε τη διαθεσιμότητα των δεδομένων και τη συμπεριφορά ανανέωσης.
Μπορώ να ελέγξω τη θέση εισαγωγής και τα τμήματα για την κλωνοποίηση;
Ναι. Μπορείτε να εισάγετε την κλωνοποίηση σε συγκεκριμένο δείκτη διαφάνειας και να τη τοποθετήσετε σε μια επιλεγμένη section. Εάν η ενότητα-στόχος δεν υπάρχει, δημιουργήστε την πρώτα και στη συνέχεια μετακινήστε τη διαφάνεια σε αυτήν.