Präsentationsfolien in C++ klonen
Einführung
Cloning ist der Vorgang, eine exakte Kopie oder Replik eines Objekts zu erstellen. Aspose.Slides for C++ ermöglicht es ebenfalls, eine Kopie oder einen Klon einer beliebigen Folie zu erstellen und diesen geklonten Folie in die aktuelle oder eine andere geöffnete Präsentation einzufügen. Der Vorgang des Folienklonens erzeugt eine neue Folie, die von Entwicklern bearbeitet werden kann, ohne die Originalfolie zu ändern. Es gibt mehrere mögliche Methoden, eine Folie zu klonen:
- Klon am Ende innerhalb einer Präsentation.
- Klon an einer anderen Position innerhalb einer Präsentation.
- Klon am Ende in einer anderen Präsentation.
- Klon an einer anderen Position in einer anderen Präsentation.
- Klon an einer bestimmten Position in einer anderen Präsentation.
In Aspose.Slides for C++ (eine Sammlung von ISlide Objekten), die vom Presentation Objekt bereitgestellt wird, stehen die Methoden AddClone und InsertClone zur Verfügung, um die oben genannten Arten des Folienklonens auszuführen.
Klone eine Folie am Ende einer Präsentation
Wenn Sie eine Folie klonen und anschließend innerhalb derselben Präsentationsdatei am Ende der vorhandenen Folien verwenden möchten, verwenden Sie die AddClone Methode gemäß den unten aufgeführten Schritten:
- Erstellen Sie eine Instanz der Presentation Klasse.
- Instanziieren Sie die ISlideCollection Klasse, indem Sie auf die von dem Presentation Objekt bereitgestellte Slides‑Sammlung verweisen.
- Rufen Sie die AddClone Methode auf, die vom ISlideCollection Objekt bereitgestellt wird, und übergeben Sie die zu klonende Folie als Parameter an die AddClone Methode.
- Schreiben Sie die geänderte Präsentationsdatei.
Im nachstehenden Beispiel haben wir eine Folie (die sich an der ersten Position – Index 0 – der Präsentation befindet) an das Ende der Präsentation geklont.
Klone eine Folie an eine andere Position innerhalb einer Präsentation
Wenn Sie eine Folie klonen und anschließend innerhalb derselben Präsentationsdatei, jedoch an einer anderen Position verwenden möchten, verwenden Sie die InsertClone Methode:
- Erstellen Sie eine Instanz der Presentation Klasse.
- Instanziieren Sie die Klasse, indem Sie auf die Slides‑Sammlung verweisen, die vom Presentation Objekt bereitgestellt wird.
- Rufen Sie die InsertClone Methode auf, die vom ISlideCollection Objekt bereitgestellt wird, und übergeben Sie die zu klonende Folie zusammen mit dem Index für die neue Position als Parameter an die InsertClone Methode.
- Schreiben Sie die geänderte Präsentation als PPTX‑Datei.
Im nachstehenden Beispiel haben wir eine Folie (die sich am Index 0 – Position 1 – der Präsentation befindet) zu Index 1 – Position 2 – der Präsentation geklont.
Klone eine Folie am Ende einer anderen Präsentation
Wenn Sie eine Folie aus einer Präsentation klonen und sie in einer anderen Präsentationsdatei am Ende der vorhandenen Folien verwenden möchten:
- Erstellen Sie eine Instanz der Presentation Klasse, die die Präsentation enthält, aus der die Folie geklont werden soll.
- Erstellen Sie eine Instanz der Presentation Klasse, die die Zielpräsentation enthält, zu der die Folie hinzugefügt werden soll.
- Instanziieren Sie die ISlideCollection Klasse, indem Sie auf die Slides‑Sammlung verweisen, die vom Presentation‑Objekt der Zielpräsentation bereitgestellt wird.
- Rufen Sie die AddClone Methode auf, die vom ISlideCollection Objekt bereitgestellt wird, und übergeben Sie die Folie aus der Quellpräsentation als Parameter an die AddClone Methode.
- Schreiben Sie die geänderte Zielpräsentationsdatei.
Im nachstehenden Beispiel haben wir eine Folie (vom ersten Index der Quellpräsentation) an das Ende der Zielpräsentation geklont.
Klone eine Folie an eine andere Position in einer anderen Präsentation
Wenn Sie eine Folie aus einer Präsentation klonen und sie in einer anderen Präsentationsdatei an einer bestimmten Position verwenden möchten:
- Erstellen Sie eine Instanz der Presentation Klasse, die die Quellpräsentation enthält, aus der die Folie geklont werden soll.
- Erstellen Sie eine Instanz der Presentation Klasse, die die Präsentation enthält, zu der die Folie hinzugefügt werden soll.
- Instanziieren Sie die ISlideCollection Klasse, indem Sie auf die Slides‑Sammlung verweisen, die vom Presentation‑Objekt der Zielpräsentation bereitgestellt wird.
- Rufen Sie die InsertClone Methode auf, die vom ISlideCollection Objekt bereitgestellt wird, und übergeben Sie die Folie aus der Quellpräsentation zusammen mit der gewünschten Position als Parameter an die InsertClone Methode.
- Schreiben Sie die geänderte Zielpräsentationsdatei.
Im nachstehenden Beispiel haben wir eine Folie (vom Index 0 der Quellpräsentation) zu Index 1 (Position 2) der Zielpräsentation geklont.
Klone eine Folie an einer bestimmten Position in einer anderen Präsentation
Wenn Sie eine Folie mit Masterfolie aus einer Präsentation klonen und in einer anderen Präsentation verwenden möchten, müssen Sie zunächst die gewünschte Masterfolie aus der Quellpräsentation in die Zielpräsentation klonen. Anschließend verwenden Sie diese Masterfolie für das Klonen der Folie mit Master. Die AddClone(ISlide, IMasterSlide)‑Methode erwartet die Masterfolie der Zielpräsentation und nicht die der Quellpräsentation. Gehen Sie wie folgt vor, um die Folie mit Master zu klonen:
- Erstellen Sie eine Instanz der Presentation Klasse, die die Quellpräsentation enthält, aus der die Folie geklont werden soll.
- Erstellen Sie eine Instanz der Presentation Klasse, die die Zielpräsentation enthält, zu der die Folie geklont werden soll.
- Greifen Sie auf die zu klonende Folie zusammen mit der Masterfolie zu.
- Instanziieren Sie die IMasterSlideCollection Klasse, indem Sie auf die Masters‑Sammlung verweisen, die vom Presentation Objekt der Zielpräsentation bereitgestellt wird.
- Rufen Sie die AddClone Methode auf, die vom IMasterSlideCollection Objekt bereitgestellt wird, und übergeben Sie den Master aus der Quell‑PPTX als Parameter an die AddClone Methode.
- Instanziieren Sie die ISlideCollection Klasse, indem Sie die Referenz auf die Slides‑Sammlung setzen, die vom Presentation Objekt der Zielpräsentation bereitgestellt wird.
- Rufen Sie die AddClone Methode auf, die vom ISlideCollection Objekt bereitgestellt wird, und übergeben Sie die Folie aus der Quellpräsentation sowie die Masterfolie als Parameter an die AddClone Methode.
- Schreiben Sie die geänderte Zielpräsentationsdatei.
Im nachstehenden Beispiel haben wir eine Folie mit Master (die sich am Index 0 der Quellpräsentation befindet) an das Ende der Zielpräsentation geklont, wobei der Master aus der Quellfolie verwendet wurde.
Klone eine Folie am Ende eines angegebenen Abschnitts
Wenn Sie eine Folie klonen und anschließend innerhalb derselben Präsentationsdatei, jedoch in einem anderen Abschnitt verwenden möchten, verwenden Sie die AddClone() Methode, die von der ISlideCollection Schnittstelle bereitgestellt wird. Aspose.Slides for C++ ermöglicht es, eine Folie aus dem ersten Abschnitt zu klonen und diese geklonte Folie in den zweiten Abschnitt derselben Präsentation einzufügen.
Der folgende Codeausschnitt zeigt, wie Sie eine Folie klonen und die geklonte Folie in einen angegebenen Abschnitt einfügen.
Stellen Sie die Übereinstimmung der Foliengröße sicher
Beim Klonen von Folien in eine andere Präsentation muss die Zielpräsentation dieselbe Foliengröße wie die Quellpräsentation besitzen. Wenn die Foliengrößen abweichen, skaliert Aspose.Slides die geklonten Formen nicht automatisch – ihre ursprünglichen Koordinaten und Abmessungen bleiben erhalten, was dazu führen kann, dass Inhalte fehlerhaft ausgerichtet sind oder über die Folienränder hinausgehen.
Sie können die Foliengröße der Zielpräsentation vor dem Klonen von Master und Folie an die Quelle anpassen:
auto sourceSize = sourcePresentation->get_SlideSize()->get_Size();
targetPresentation->get_SlideSize()->SetSize(
sourceSize.get_Width(), sourceSize.get_Height(), SlideSizeScaleType::DoNotScale);
Tun Sie dies, bevor Sie den Master und die Folie klonen.
FAQ
Werden Sprecher‑Notizen und Prüferkommentare geklont?
Ja. Die Notizenseite und Prüferkommentare werden in den Klon übernommen. Wenn Sie sie nicht wünschen, entfernen Sie sie nach dem Einfügen.
Wie werden Diagramme und deren Datenquellen behandelt?
Das Diagrammobjekt, die Formatierung und die eingebetteten Daten werden kopiert. Wenn das Diagramm mit einer externen Quelle verknüpft war (z. B. einer OLE‑einbetten Arbeitsmappe), bleibt diese Verknüpfung als OLE‑Objekt erhalten. Nach dem Verschieben zwischen Dateien prüfen Sie die Datenverfügbarkeit und das Aktualisierungsverhalten.
Kann ich die Einfügeposition und Abschnitte für den Klon steuern?
Ja. Sie können den Klon an einem bestimmten Folien‑Index einfügen und ihn in einen gewählten Abschnitt verschieben. Existiert der Zielabschnitt nicht, erstellen Sie ihn zuerst und verschieben dann die Folie dorthin.