Clona le diapositive della presentazione in C++
Introduzione
Il clonaggio è il processo di creare una copia esatta o una replica di qualcosa. Aspose.Slides per C++ consente anche di creare una copia o un clone di qualsiasi diapositiva e quindi inserire quella diapositiva clonata nella presentazione corrente o in qualsiasi altra presentazione aperta. Il processo di clonazione delle diapositive crea una nuova diapositiva che può essere modificata dagli sviluppatori senza alterare la diapositiva originale. Esistono diversi modi per clonare una diapositiva:
- Clona alla fine all’interno di una presentazione.
- Clona in un’altra posizione all’interno della presentazione.
- Clona alla fine in un’altra presentazione.
- Clona in un’altra posizione in un’altra presentazione.
- Clona in una posizione specifica in un’altra presentazione.
In Aspose.Slides per C++, (una collezione di ISlide objects) esposta dall’oggetto Presentation fornisce i metodi AddClone e InsertClone per eseguire i tipi di clonazione diapositive sopra descritti
Clona una diapositiva alla fine di una presentazione
Se vuoi clonare una diapositiva e poi utilizzarla all’interno dello stesso file di presentazione alla fine delle diapositive esistenti, usa il metodo AddClone seguendo i passaggi elencati di seguito:
- Crea un’istanza della classe Presentation .
- Istanzia la classe ISlideCollection facendo riferimento alla collezione Slides esposta dall’oggetto Presentation .
- Chiama il metodo AddClone esposto dall’oggetto ISlideCollection e passa la diapositiva da clonare come parametro al metodo AddClone .
- Scrivi il file della presentazione modificata.
Nell’esempio mostrato di seguito, abbiamo clonato una diapositiva (situata nella prima posizione – indice zero – della presentazione) alla fine della presentazione.
Clona una diapositiva in un’altra posizione all’interno di una presentazione
Se vuoi clonare una diapositiva e poi utilizzarla all’interno dello stesso file di presentazione ma in una posizione diversa, usa il metodo InsertClone :
- Crea un’istanza della classe Presentation .
- Istanzia la classe facendo riferimento alla collezione Slides esposta dall’oggetto Presentation .
- Chiama il metodo InsertClone esposto dall’oggetto ISlideCollection e passa la diapositiva da clonare insieme all’indice della nuova posizione come parametro al metodo InsertClone .
- Scrivi la presentazione modificata come file PPTX.
Nell’esempio mostrato di seguito, abbiamo clonato una diapositiva (situata all’indice zero – posizione 1 – della presentazione) all’indice 1 – Posizione 2 – della presentazione.
Clona una diapositiva alla fine di un’altra presentazione
Se devi clonare una diapositiva da una presentazione e usarla in un altro file di presentazione, alla fine delle diapositive esistenti:
- Crea un’istanza della classe Presentation contenente la presentazione da cui la diapositiva sarà clonata.
- Crea un’istanza della classe Presentation contenente la presentazione di destinazione a cui la diapositiva sarà aggiunta.
- Istanzia la classe ISlideCollection facendo riferimento alla collezione Slides esposta dall’oggetto Presentation della presentazione di destinazione.
- Chiama il metodo AddClone esposto dall’oggetto ISlideCollection e passa la diapositiva della presentazione di origine come parametro al metodo AddClone .
- Scrivi il file della presentazione di destinazione modificata.
Nell’esempio mostrato di seguito, abbiamo clonato una diapositiva (dal primo indice della presentazione di origine) alla fine della presentazione di destinazione.
Clona una diapositiva in un’altra posizione in un’altra presentazione
Se devi clonare una diapositiva da una presentazione e usarla in un altro file di presentazione, in una posizione specifica:
- Crea un’istanza della classe Presentation contenente la presentazione di origine da cui la diapositiva sarà clonata.
- Crea un’istanza della classe Presentation contenente la presentazione a cui la diapositiva sarà aggiunta.
- Istanzia la classe ISlideCollection facendo riferimento alla collezione Slides esposta dall’oggetto Presentation della presentazione di destinazione.
- Chiama il metodo InsertClone esposto dall’oggetto ISlideCollection e passa la diapositiva della presentazione di origine insieme alla posizione desiderata come parametro al metodo InsertClone .
- Scrivi il file della presentazione di destinazione modificata.
Nell’esempio mostrato di seguito, abbiamo clonato una diapositiva (dal indice zero della presentazione di origine) all’indice 1 (posizione 2) della presentazione di destinazione.
Clona una diapositiva in una posizione specifica in un’altra presentazione
Se devi clonare una diapositiva con diapositiva master da una presentazione e usarla in un’altra presentazione, è necessario prima clonare la diapositiva master desiderata dalla presentazione di origine a quella di destinazione. Successivamente devi utilizzare quella master per clonare la diapositiva con master. Il metodo AddClone(ISlide, IMasterSlide) si aspetta la diapositiva master dalla presentazione di destinazione piuttosto che da quella di origine. Per clonare la diapositiva con master, segui i passaggi seguenti:
- Crea un’istanza della classe Presentation contenente la presentazione di origine da cui la diapositiva sarà clonata.
- Crea un’istanza della classe Presentation contenente la presentazione di destinazione a cui la diapositiva sarà clonata.
- Accedi alla diapositiva da clonare insieme alla diapositiva master.
- Istanzia la classe IMasterSlideCollection facendo riferimento alla collezione Masters esposta dall’oggetto Presentation della presentazione di destinazione.
- Chiama il metodo AddClone esposto dall’oggetto IMasterSlideCollection e passa il master del PPTX di origine da clonare come parametro al metodo AddClone .
- Istanzia la classe ISlideCollection impostando il riferimento alla collezione Slides esposta dall’oggetto Presentation della presentazione di destinazione.
- Chiama il metodo AddClone esposto dall’oggetto ISlideCollection e passa la diapositiva della presentazione di origine da clonare insieme alla diapositiva master come parametro al metodo AddClone .
- Scrivi il file della presentazione di destinazione modificata.
Nell’esempio mostrato di seguito, abbiamo clonato una diapositiva con master (situata all’indice zero della presentazione di origine) alla fine della presentazione di destinazione usando il master della diapositiva di origine.
Clona una diapositiva alla fine di una sezione specificata
Se vuoi clonare una diapositiva e poi usarla all’interno dello stesso file di presentazione ma in una sezione diversa, usa il metodo AddClone() esposto dall’interfaccia ISlideCollection . Aspose.Slides per C++ consente di clonare una diapositiva dalla prima sezione e poi inserire quella diapositiva clonata nella seconda sezione della stessa presentazione.
Il frammento di codice seguente mostra come clonare una diapositiva e inserire la diapositiva clonata in una sezione specificata.
Assicurati che le dimensioni della diapositiva corrispondano
Quando cloni diapositive in un’altra presentazione, assicurati che la presentazione di destinazione abbia le stesse dimensioni della diapositiva della presentazione di origine. Se le dimensioni delle diapositive differiscono, Aspose.Slides non ridimensiona automaticamente le forme clonate: le loro coordinate e dimensioni originali vengono mantenute, il che può far sì che il contenuto appaia disallineato o si estenda oltre i bordi della diapositiva.
Puoi impostare le dimensioni della diapositiva della presentazione di destinazione in modo che corrispondano a quelle della sorgente prima di clonare il master e la diapositiva:
auto sourceSize = sourcePresentation->get_SlideSize()->get_Size();
targetPresentation->get_SlideSize()->SetSize(
sourceSize.get_Width(), sourceSize.get_Height(), SlideSizeScaleType::DoNotScale);
Esegui questo prima di clonare il master e la diapositiva.
FAQ
Le note dello speaker e i commenti dei revisori vengono clonati?
Sì. La pagina delle note e i commenti di revisione sono inclusi nella copia. Se non li desideri, rimuovili dopo l’inserimento.
Come vengono gestiti i grafici e le loro fonti dati?
L’oggetto grafico, la formattazione e i dati incorporati vengono copiati. Se il grafico era collegato a una fonte esterna (ad esempio, una cartella di lavoro OLE incorporata), quel collegamento è preservato come un oggetto OLE. Dopo lo spostamento tra file, verifica la disponibilità dei dati e il comportamento di aggiornamento.
Posso controllare la posizione di inserimento e le sezioni per il clone?
Sì. Puoi inserire il clone a un indice di diapositiva specifico e posizionarlo in una sezione scelta. Se la sezione di destinazione non esiste, creala prima e poi sposta la diapositiva al suo interno.