Αποτελεσματική Συγχώνευση Παρουσιάσεων σε Python μέσω Java
Επισκόπηση
Το Aspose.Slides for Python via Java συγχωνεύει παρουσιάσεις κλωνοποιώντας διαφάνειες από μια Presentation σε μια άλλη. Η κύρια λειτουργία είναι SlideCollection.addClone, η οποία μπορεί να διατηρήσει τη μορφοποίηση της διαφάνειας προέλευσης ή να συσχετίσει τη κλωνοποιημένη διαφάνεια με ένα master ή layout στην προορισμένη παρουσίαση.
Αυτό το άρθρο καλύπτει τις πιο συνηθισμένες ροές εργασίας συγχώνευσης:
- συγχώνευση όλων των διαφανειών διατηρώντας τη μορφοποίηση προέλευσης·
- συγχώνευση επιλεγμένων διαφανειών·
- εφαρμογή ενός master από την προορισμένη παρουσίαση·
- εφαρμογή ενός συγκεκριμένου layout από την προορισμένη παρουσίαση·
- ομαλοποίηση διαφορετικών μεγεθών διαφανειών πριν από τη συγχώνευση·
- προσθήκη κλωνοποιημένων διαφανειών σε μια ενότητα·
- συγχώνευση πολλαπλών παρουσιάσεων σε μια ενιαία ροή εργασίας από την αρχή μέχρι το τέλος·
- διαχείριση masters, πόρων, σημειώσεων, σχολίων, πολυμέσων, γραμματοσειρών, κωδικών πρόσβασης, μεγάλων αρχείων και ζητημάτων πολυνηματισμού.
Πώς η κλωνοποίηση διαφανειών επηρεάζει τα Masters και τα Layouts
Μια διαφάνεια κληρονομεί μεγάλο μέρος της εμφάνισής της από το layout και το master της. Γι' αυτό, η υπερφόρτωση κλωνοποίησης που επιλέγετε καθορίζει πώς ενσωματώνεται η συγχωνευμένη διαφάνεια στην προορισμένη παρουσίαση.
Χρησιμοποιήστε SlideCollection.addClone με έναν από τους εξής τρόπους:
addClone(source_slide)— διατήρηση του layout και της μορφοποίησης της διαφάνειας προέλευσης. Όταν απαιτείται, το master προέλευσης μπορεί να κλωνοποιηθεί αυτόματα στην προορισμένη παρουσίαση. Το Aspose.Slides παρακολουθεί αυτόματα κλωνοποιημένα masters ώστε επαναλαμβανόμενες διαφάνειες που χρησιμοποιούν το ίδιο master προέλευσης να μην το κλωνοποιούν ξανά.addClone(source_slide, destination_master, allow_clone_missing_layout)— προσάρτηση της κλωνοποιημένης διαφάνειας σε ένα συγκεκριμένο προορισμένο MasterSlide. Το Aspose.Slides αναζητά ένα αντιστοιχούν layout κάτω από αυτό το master με βάση τον τύπο ή το όνομα του layout.addClone(source_slide, destination_layout)— προσάρτηση της κλωνοποιημένης διαφάνειας απευθείας σε ένα συγκεκριμένο προορισμένο LayoutSlide.
Το master ή το layout που περνιούνται σε μια υπερφόρτωση addClone πρέπει να ανήκουν στην παρουσίαση προορισμού, όχι στην παρουσίαση προέλευσης.
Συγχώνευση ολόκληρων παρουσιάσεων και διατήρηση της μορφοποίησης προέλευσης
Η πιο απλή συγχώνευση αντιγράφει κάθε διαφάνεια από την παρουσίαση προέλευσης στην προορισμένη παρουσίαση. Αυτή είναι η κατάλληλη επιλογή όταν οι εισαγόμενες διαφάνειες πρέπει να διατηρήσουν το αρχικό θέμα, master και σχέσεις layout.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
destination = Presentation("destination.pptx")
try:
source = Presentation("source.pptx")
try:
for slide in source.getSlides():
destination.getSlides().addClone(slide)
finally:
source.dispose()
destination.save("merged.pptx", SaveFormat.Pptx)
finally:
destination.dispose()
Η τελική παρουσίαση μπορεί να περιέχει πολλαπλά masters όταν η προέλευση και ο προορισμός χρησιμοποιούν διαφορετικά σχέδια. Αυτό είναι αναμενόμενο όταν η μορφοποίηση προέλευσης διατηρείται εκούσια.
Συγχώνευση επιλεγμένων διαφανειών
Δεν χρειάζεται να κλωνοποιήσετε κάθε διαφάνεια. Το παρακάτω παράδειγμα εισάγει μόνο επιλεγμένα ευρετήρια διαφανειών από την παρουσίαση προέλευσης.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
destination = Presentation("destination.pptx")
try:
source = Presentation("source.pptx")
try:
slide_indexes = [0, 2, 4]
for index in slide_indexes:
if 0 <= index < source.getSlides().size():
destination.getSlides().addClone(source.getSlides().get_Item(index))
else:
print(f"Skipping invalid slide index: {index}")
finally:
source.dispose()
destination.save("merged-selected-slides.pptx", SaveFormat.Pptx)
finally:
destination.dispose()
Επικυρώστε τα ευρετήρια διαφανειών πριν την κλωνοποίηση όταν προέρχονται από είσοδο χρήστη ή εξωτερική ρύθμιση.
Συγχώνευση διαφανειών χρησιμοποιώντας ένα Master προορισμού
Χρησιμοποιήστε την υπερφόρτωση SlideCollection.addClone όταν οι εισαγόμενες διαφάνειες πρέπει να ακολουθούν ένα master που ανήκει ήδη στην προορισμένη παρουσίαση.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
destination = Presentation("destination.pptx")
try:
source = Presentation("source.pptx")
try:
destination_master = destination.getMasters().get_Item(0)
for slide in source.getSlides():
destination.getSlides().addClone(slide, destination_master, True)
finally:
source.dispose()
destination.save("merged-with-destination-master.pptx", SaveFormat.Pptx)
finally:
destination.dispose()
Το Aspose.Slides επιλέγει ένα κατάλληλο layout κάτω από το συγκεκριμένο master αντιστοιχίζοντας τον τύπο ή το όνομα του layout προέλευσης. Εάν δεν υπάρχει κατάλληλο layout και allow_clone_missing_layout είναι True, το layout προέλευσης κλωνοποιείται ώστε η διαφάνεια να προστεθεί. Εάν είναι False, ρίχνεται ένα PptxEditException.
Χρησιμοποιήστε False όταν θέλετε η συγχώνευση να αποτύχει αντί να εισάγει ένα επιπλέον layout στο master προορισμού.
Συγχώνευση διαφανειών χρησιμοποιώντας ένα συγκεκριμένο Layout προορισμού
Χρησιμοποιήστε την υπερφόρτωση SlideCollection.addClone όταν γνωρίζετε ακριβώς ποιο layout προορισμού πρέπει να χρησιμοποιούν οι εισαγόμενες διαφάνειες.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
destination = Presentation("destination.pptx")
try:
source = Presentation("source.pptx")
try:
destination_layout = destination.getLayoutSlides().get_Item(0)
for slide in source.getSlides():
destination.getSlides().addClone(slide, destination_layout)
finally:
source.dispose()
destination.save("merged-with-destination-layout.pptx", SaveFormat.Pptx)
finally:
destination.dispose()
Η εφαρμογή ενός layout προορισμού αλλάζει τη σχέση κληρονομικού layout· δεν επανασχεδιάζει το περιεχόμενο της διαφάνειας προέλευσης. Εάν τα layout προέλευσης και προορισμού έχουν διαφορετικές δομές placeholder, ελέγξτε το αποτέλεσμα για να επιβεβαιώσετε ότι η κληρονομημένη μορφοποίηση και η συμπεριφορά των placeholders είναι κατάλληλες.
Συγχώνευση παρουσιάσεων με διαφορετικά μεγέθη διαφανειών
Παρουσιάσεις με διαφορετικές διαστάσεις διαφανειών μπορούν να συγχωνευτούν, αλλά η κλωνοποίηση μιας διαφάνειας σε παρουσίαση με διαφορετικό μέγεθος δεν επανασχεδιάζει αυτόματα το περιεχόμενό της για το νέο καμβά. Οι μορφές ενδέχεται να εμφανίζονται μετατοπισμένες, κλιμακωμένες απρόσμενα ή εκτός της ορατής περιοχής της διαφάνειας.
Μια πρακτική προσέγγιση είναι η αλλαγή μεγέθους της παρουσίασης προέλευσης πριν την κλωνοποίηση. Η μέθοδος SlideSize.setSize μπορεί να κλιμακώσει το υπάρχον περιεχόμενο ενώ αλλάζει τις διαστάσεις της διαφάνειας. Η SlideSizeScaleType.EnsureFit κλιμακώνει το περιεχόμενο ώστε να ταιριάζει στο ζητούμενο μέγεθος.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat, SlideSizeScaleType
destination = Presentation("destination.pptx")
try:
source = Presentation("source.pptx")
try:
source_size = source.getSlideSize().getSize()
destination_size = destination.getSlideSize().getSize()
width = jpype.JFloat(destination_size.getWidth())
height = jpype.JFloat(destination_size.getHeight())
if source_size.getWidth() != width or source_size.getHeight() != height:
source.getSlideSize().setSize(width, height, SlideSizeScaleType.EnsureFit)
for slide in source.getSlides():
destination.getSlides().addClone(slide)
finally:
source.dispose()
destination.save("merged-same-slide-size.pptx", SaveFormat.Pptx)
finally:
destination.dispose()
Η αλλαγή μεγέθους τροποποιεί το αντικείμενο της παρουσίασης προέλευσης στη μνήμη. Εάν χρειάζεστε την αρχική παρουσίαση προέλευσης αμετάβλητη για άλλες εργασίες, ανοίξτε μια ξεχωριστή παρουσίαση για τη συγχώνευση.
Συγχώνευση διαφανειών σε ενότητα παρουσίασης
Ο βασικός βρόχος κλωνοποίησης διαφανειών δεν αναδημιουργεί την ιεραρχία ενοτήτων της παρουσίασης προέλευσης. Εάν οι ενότητες είναι σημαντικές στο αποτελέσμα, δημιουργήστε ή επιλέξτε ενότητες στην προορισμένη παρουσίαση και κλωνοποιήστε τις διαφάνειες σε αυτές ρητά με SlideCollection.addClone.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
destination = Presentation("destination.pptx")
try:
source = Presentation("source.pptx")
try:
imported_section = destination.getSections().appendEmptySection("Imported slides")
for slide in source.getSlides():
destination.getSlides().addClone(slide, imported_section)
finally:
source.dispose()
destination.save("merged-with-section.pptx", SaveFormat.Pptx)
finally:
destination.dispose()
Οι κλωνοποιημένες διαφάνειες προσαρτώνται στην καθορισμένη ενότητα προορισμού. Για να διατηρήσετε πολλές ενότητες προέλευσης, απαριθμήστε τις Presentation.getSections, ανακτήστε τις τρέχουσες διαφάνειες κάθε ενότητας με Section.getSlidesListOfSection, δημιουργήστε ξανά τις ενότητες στην προορισμένη παρουσίαση και κλωνοποιήστε κάθε επιστρεφόμενη διαφάνεια στην αντίστοιχη ενότητα προορισμού. Δείτε το Manage Slide Sections για ένα ολοκληρωμένο παράδειγμα απαρίθμησης ενοτήτων, συμπεριλαμβανομένων κενών ενοτήτων και αλλαγών δομής.
Ασφαλής συγχώνευση πολλαπλών παρουσιάσεων
Το παρακάτω παράδειγμα από την αρχή μέχρι το τέλος χρησιμοποιεί την πρώτη παρουσίαση ως προορισμό, ομαλοποιεί το μέγεθος διαφάνειας κάθε επιπλέον προέλευσης, κρατά κάθε προέλευση ανοιχτή μόνο όσο αντιγράφεται, και αποθηκεύει το τελικό αρχείο μία φορά.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat, SlideSizeScaleType
input_files = ["part1.pptx", "part2.pptx", "part3.pptx"]
merged = Presentation(input_files[0])
try:
merged_size = merged.getSlideSize().getSize()
width = jpype.JFloat(merged_size.getWidth())
height = jpype.JFloat(merged_size.getHeight())
for input_file in input_files[1:]:
source = Presentation(input_file)
try:
source_size = source.getSlideSize().getSize()
if source_size.getWidth() != width or source_size.getHeight() != height:
source.getSlideSize().setSize(width, height, SlideSizeScaleType.EnsureFit)
for slide in source.getSlides():
merged.getSlides().addClone(slide)
finally:
source.dispose()
merged.save("merged.pptx", SaveFormat.Pptx)
finally:
merged.dispose()
Αυτό αποτελεί μια χρήσιμη βάση για τη διατήρηση της μορφοποίησης προέλευσης των εισαγόμενων διαφανειών. Εάν το αποτέλεσμα πρέπει να χρησιμοποιεί ένα ενιαίο θέμα προορισμού, αντικαταστήστε την απλή κλήση addClone(slide) με την κατάλληλη υπερφόρτωση destination‑master ή destination‑layout όπως εμφανίστηκε παραπάνω.
Πρακτικές Σκέψεις
Masters, Layouts και Ακρίβεια Μορφοποίησης
Η προεπιλεγμένη κλωνοποίηση διαφανειών μπορεί αυτόματα να μεταφέρει το απαιτούμενο master προέλευσης στην προορισμένη παρουσίαση. Το Aspose.Slides διατηρεί ένα εσωτερικό μητρώο για αυτόματα κλωνοποιημένα masters ώστε να αποφεύγεται η επαναλαμβανόμενη κλωνοποίηση του ίδιου master. Τα manual κλωνοποιημένα masters δεν παρακολουθούνται από αυτό το μητρώο, γι' αυτό αποφεύγετε την προ‑κλωνοποίηση masters εκτός εάν χρειάζεστε ρητό έλεγχο της δομής του master.
Μην υποθέτετε ότι δύο masters ή layouts με το ίδιο όνομα είναι οπτικά ισοδύναμα. Εάν ένα εταιρικό πρότυπο πρέπει να ελέγχει την τελική εμφάνιση, επιλέξτε ρητά ένα master ή layout προορισμού και επαληθεύστε το αποτέλεσμα μετά τη συγχώνευση.
Σημειώσεις και Σχόλια
Οι σημειώσεις ομιλητή και τα σχόλια διαφάνειας συνδέονται με το περιεχόμενο της διαφάνειας και αντιγράφονται όταν κλωνοποιείται η διαφάνεια. Το Aspose.Slides επίσης εκθέτει ειδικά API για presentation notes και presentation comments.
Εάν η μορφοποίηση της σελίδας σημειώσεων είναι σημαντική, επαληθεύστε τη συγχωνευμένη παρουσίαση επειδή τα notes masters είναι αντικείμενα επιπέδου παρουσίασης και μπορεί να διαφέρουν μεταξύ των αρχείων προέλευσης. Για ροές εργασίας επανεξέτασης, επαληθεύστε επίσης τους συγγραφείς σχολίων και τα νήματα σχολίων μετά τη συνένωση αρχείων από διαφορετικούς συγγραφείς ή πρότυπα.
Εικόνες, Ήχος, Βίντεο, Αντικείμενα OLE και Εξωτερικοί Σύνδεσμοι
Οι διαφάνειες μπορούν να αναφέρονται σε πόρους επιπέδου παρουσίασης όπως εικόνες, ενσωματωμένο ήχο, ενσωματωμένο βίντεο και δεδομένα OLE. Κλωνοποιήστε τη διαφάνεια ίδιαν αντί να αντιγράφετε μόνο τα ορατά σχήματα ώστε το Aspose.Slides να διατηρήσει τις σχέσεις της διαφάνειας με τους πόρους της.
Τα ενσωματωμένα και σύνδεσμοι πόρων πρέπει να αντιμετωπίζονται διαφορετικά. Ένας συνδεδεμένος ήχος, βίντεο, αντικείμενο OLE ή υπερσύνδεσμος παραμένει εξαρτημένος από το εξωτερικό του στόχο· η κλωνοποίηση μιας διαφάνειας δεν μετατρέπει έναν εξωτερικό σύνδεσμο σε ενσωματωμένο περιεχόμενο. Ελέγξτε τις διαδρομές και τις διευθύνσεις URL των συνδεδεμένων πόρων στο περιβάλλον όπου θα ανοίξει η συγχωνευμένη παρουσίαση.
Το Aspose.Slides παρακολουθεί ρητά αυτόματα κλωνοποιημένα masters, αλλά αυτό δεν πρέπει να θεωρείται γενική εγγύηση ότι τα ίδια δυαδικά αρχεία από ανεξάρτητες παρουσιάσεις προέλευσης θα αποσυμπιεστούν πάντα. Εάν το μέγεθος του αρχείου εξόδου είναι σημαντικό, επιθεωρήστε το συγχωνευμένο πακέτο και μετρήστε το αποτέλεσμα αντί να βασίζεστε στην έμμεση αποσυμπίεση.
Ενσωματωμένες Γραμματοσειρές και Διαθεσιμότητα Γραμματοσειρών
Οι γραμματοσειρές διαχειρίζονται σε επίπεδο παρουσίασης. Εάν η τυπογραφία πρέπει να παραμείνει συνεπής σε διαφορετικούς υπολογιστές, μην υποθέτετε ότι η κλωνοποίηση διαφανειών εγγυάται ότι κάθε απαιτούμενη γραμματοσειρά είναι διαθέσιμη στο περιβάλλον προορισμού. Μπορείτε να επιθεωρήσετε τις ενσωματωμένες γραμματοσειρές με FontsManager.getEmbeddedFonts και να διαχειριστείτε την ενσωμάτωση ρητά όπως περιγράφεται στο Embed Fonts in Presentations.
Επίσης, επαληθεύστε ότι έχετε άδεια να ενσωματώσετε τις γραμματοσειρές που χρησιμοποιούν τα αρχεία προέλευσης. Οι άδειες γραμματοσειρών μπορεί να περιορίζουν την ενσωμάτωση.
Παρουσιάσεις με Προστασία Κωδικού
Μια παρουσίαση με κωδικό προστασίας πρέπει να ανοίξει επιτυχώς πριν κλωνοποιηθούν οι διαφάνειές της. Παραχωρήστε τον κωδικό μέσω LoadOptions.setPassword.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, LoadOptions
load_options = LoadOptions()
load_options.setPassword("YOUR_PASSWORD")
source = Presentation("protected.pptx", load_options)
try:
# Δουλέψτε με την αποκρυπτογραφημένη παρουσίαση.
print(f"Loaded {source.getSlides().size()} slides.")
finally:
source.dispose()
Το άνοιγμα μιας κρυπτογραφημένης προέλευσης δεν εφαρμόζει αυτόματα την ίδια προστασία στην προορισμένη παρουσίαση. Ρυθμίστε την προστασία εξόδου ξεχωριστά όταν απαιτείται.
Μεγάλες Παρουσιάσεις και Χρήση Μνήμης
Μεγάλες παρουσιάσεις που περιέχουν εικόνες υψηλής ανάλυσης, ήχο, βίντεο ή άλλα μεγάλα δυαδικά αντικείμενα μπορούν να καταναλώσουν σημαντική μνήμη. Το LoadOptions.getBlobManagementOptions παρέχει ελέγχους για τη διαχείριση BLOB και τη χρήση προσωρινών αρχείων. Δείτε το Manage Presentation BLOBs για στρατηγικές μεγάλων αρχείων.
Για μεγάλα αρχεία, προτιμήστε τη φόρτωση από διαδρομές αρχείων όταν είναι δυνατόν, εκλύστε κάθε παρουσίαση προέλευσης μόλις έχει συγχωνευθεί, και αποφύγετε την επαναλαμβανόμενη αποθήκευση ενδιάμεσων αποτελεσμάτων εκτός εάν η ροή εργασίας απαιτεί σημεία ελέγχου.
Ασφάλεια Σε Πολυνηματισμό
Μην φορτώνετε, τροποποιείτε, αποθηκεύετε ή κλωνοποιείτε την ίδια Presentation ταυτόχρονα από πολλαπλά νήματα. Διατηρήστε κάθε παρουσίαση περιορισμένη σε μια λειτουργία συγχώνευσης. Εάν παράλληλα εκτελείτε ανεξάρτητες εργασίες, χρησιμοποιήστε ανεξάρτητες παρουσιάσεις και ακολουθήστε τις οδηγίες πολυνηματισμού του Aspose.Slides multithreading guidance.
Συχνές Ερωτήσεις
Πώς μπορώ να διατηρήσω το αρχικό σχέδιο κάθε παρουσίασης προέλευσης;
Χρησιμοποιήστε το addClone χωρίς να δώσετε master ή layout προορισμού. Το Aspose.Slides μπορεί να κλωνοποιήσει αυτόματα το master προέλευσης όταν χρειάζεται η εισαγόμενη διαφάνεια.
Πώς μπορώ να κάνω τις εισαγόμενες διαφάνειες να χρησιμοποιούν το θέμα προορισμού;
Χρησιμοποιήστε την υπερφόρτωση που δέχεται ένα master προορισμού. Δώστε ένα master από την προορισμένη παρουσίαση, όχι από την προέλευση. Το Aspose.Slides θα προσπαθήσει να αντιστοιχίσει κάθε διαφάνεια προέλευσης σε ένα κατάλληλο layout κάτω από αυτό το master.
Πότε πρέπει να χρησιμοποιήσω ένα συγκεκριμένο layout προορισμού αντί για ένα master προορισμού;
Χρησιμοποιήστε ένα συγκεκριμένο layout όταν κάθε εισαγόμενη διαφάνεια πρέπει να χρησιμοποιεί ένα γνωστό layout. Χρησιμοποιήστε ένα master όταν θέλετε το Aspose.Slides να επιλέξει μεταξύ των layout του master βάσει του τύπου ή του ονόματος του layout προέλευσης.
Μπορούν να συγχωνευτούν παρουσιάσεις με διαφορετικά μεγέθη διαφανειών;
Ναι, αλλά το περιεχόμενο της διαφάνειας δεν επανασχεδιάζεται αυτόματα για τις διαστάσεις προορισμού. Αλλάξτε το μέγεθος της παρουσίασης προέλευσης πρώτα όταν χρειάζεστε προβλέψιμη τοποθέτηση, για παράδειγμα με SlideSize.setSize και SlideSizeScaleType.EnsureFit.
Μπορώ να συγχωνεύσω παρουσιάσεις PPT, PPTX και ODP σε ένα αρχείο;
Ναι. Φορτώστε κάθε παρουσίαση προέλευσης, κλωνοποιήστε τις απαιτούμενες διαφάνειες σε μία προορισμένη παρουσίαση και αποθηκεύστε την προορισμένη παρουσίαση σε υποστηριζόμενη μορφή εξόδου. Επειδή τα μορφότυπα παρουσιάσεων δεν υποστηρίζουν ακριβώς το ίδιο σύνολο χαρακτηριστικών, επαληθεύστε το πολύπλοκο περιεχόμενο μετά τη συγχώνευση μεταξύ διαφορετικών μορφότυπων. Δείτε το Supported File Formats.
Διατηρούνται αυτόματα οι ενότητες προέλευσης;
Όχι, από έναν βασικό βρόχο που κλωνοποιεί μόνο τις διαφάνειες. Δημιουργήστε ξανά τις απαιτούμενες ενότητες στην προορισμένη παρουσίαση και χρησιμοποιήστε την υπερφόρτωση ενότητας του addClone όταν πρέπει να διατηρηθεί η δομή των ενοτήτων.
Διατηρούνται οι σημειώσεις ομιλητή και τα σχόλια;
Αντιγράφονται μαζί με την κλωνοποιημένη διαφάνεια. Για ροές εργασίας που εξαρτώνται από το στιλ του notes‑master, τους συγγραφείς σχολίων ή τα δεδομένα νήματος ανασκόπησης, επαληθεύστε το συγχωνευμένο αποτέλεσμα γιατί αυτά τα σενάρια αφορούν δομές επιπέδου παρουσίασης καθώς και περιεχόμενο επιπέδου διαφάνειας.
Τι συμβαίνει με ήχο, βίντεο, αντικείμενα OLE και υπερσυνδέσμους;
Το ενσωματωμένο περιεχόμενο μεταφέρεται ως μέρος των σχέσεων πόρων της κλωνοποιημένης διαφάνειας. Οι εξωτερικοί σύνδεσμοι παραμένουν εξωτερικοί, έτσι τα αρχεία‑στόχοι ή οι URL πρέπει να είναι ακόμα προσβάσιμα μετά τη συγχώνευση.
Εγγυάνονται οι ενσωματωμένες γραμματοσειρές από κάθε προέλευση να είναι διαθέσιμες στη συγχωνευμένη παρουσίαση;
Μην βασίζεστε μόνο στην κλωνοποίηση διαφανειών για την ανάπτυξη γραμματοσειρών. Επιθεωρήστε τις ενσωματωμένες γραμματοσειρές του προορισμού και διαχειριστείτε ρητά την ενσωμάτωση γραμματοσειρών ή τη διαθεσιμότητα εξωτερικών γραμματοσειρών όταν η τυπογραφία είναι σημαντική.
Πώς συγχωνεύω ένα αρχείο με προστασία κωδικού;
Ανοίξτε το με το σωστό LoadOptions.setPassword, στη συνέχεια κλωνοποιήστε τις διαφάνειες του κανονικά. Η προστασία εξόδου ρυθμίζεται ξεχωριστά.
Πώς πρέπει να διαχειριστώ πολύ μεγάλες παρουσιάσεις;
Χρησιμοποιήστε τη διαχείριση BLOB όταν μεγάλα δυαδικά αντικείμενα κυριαρχούν στη χρήση μνήμης, προτιμήστε φόρτωση από διαδρομές αρχείων για πολύ μεγάλα αρχεία, εκλύστε τις παρουσιάσεις προέλευσης άμεσα, και αποθηκεύστε το τελικό αποτέλεσμα μόνο όταν χρειάζεται.
Μπορώ να συγχωνεύσω διαφάνειες από πολλαπλά νήματα;
Μην χρησιμοποιείτε ένα Presentation ταυτόχρονα από πολλαπλά νήματα. Διατηρήστε κάθε λειτουργία συγχώνευσης απομονωμένη στις δικές της παρουσιάσεις.