Effizientes Zusammenführen von Präsentationen in .NET

Optimieren Sie das Zusammenführen von Präsentationen

Mit Aspose.Slides für .NET können Sie PowerPoint‑Präsentationen nahtlos kombinieren und dabei Stile, Layouts und alle Elemente erhalten. Im Gegensatz zu anderen Werkzeugen fügt Aspose.Slides Präsentationen zusammen, ohne die Qualität zu beeinträchtigen oder Daten zu verlieren. Fügen Sie ganze Präsentationen, einzelne Folien und sogar unterschiedliche Dateiformate (PPT zu PPTX usw.) zusammen.

Funktionen zum Zusammenführen

  • Vollständiges Präsentations‑Zusammenführen: Alle Folien zu einer einzigen Datei zusammenstellen.
  • Einzelne Folien zusammenführen: Ausgewählte Folien auswählen und kombinieren.
  • Cross‑Format‑Zusammenführen: Präsentationen verschiedener Formate integrieren und dabei die Integrität bewahren.

Präsentations‑Zusammenführung

Wenn Sie eine Präsentation mit einer anderen zusammenführen, kombinieren Sie deren Folien effektiv zu einer einzigen Präsentation, um eine Datei zu erhalten.

Was kann zusammengeführt werden

Mit Aspose.Slides können Sie

  • ganze Präsentationen zusammenführen. Alle Folien aus den Präsentationen landen in einer einzigen Präsentation
  • einzelne Folien zusammenführen. Ausgewählte Folien landen in einer einzigen Präsentation
  • Präsentationen im selben Format (PPT zu PPT, PPTX zu PPTX usw.) sowie in unterschiedlichen Formaten (PPT zu PPTX, PPTX zu ODP usw.) miteinander verbinden.

Zusammenführungsoptionen

Sie können Optionen festlegen, die bestimmen, ob

  • jede Folie in der Ausgabepresentation einen einzigartigen Stil behält
  • ein einheitlicher Stil für alle Folien der Ausgabepresentation verwendet wird.

Um Präsentationen zusammenzuführen, stellt Aspose.Slides AddClone‑Methoden (aus dem ISlideCollection‑Interface) bereit. Es gibt mehrere Implementierungen der AddClone‑Methoden, die die Parameter des Präsentations‑Zusammenführungsprozesses definieren. Jedes Presentation‑Objekt verfügt über eine Slides‑Sammlung, sodass Sie eine AddClone‑Methode von der Präsentation aufrufen können, zu der Sie Folien zusammenführen möchten.

Die AddClone‑Methode liefert ein ISlide‑Objekt zurück, das eine Kopie der Quellfolie ist. Die Folien in einer Ausgabepresentation sind einfach Kopien der Folien der Quelle. Daher können Sie die resultierenden Folien ändern (z. B. Stile, Formatierungsoptionen oder Layouts anwenden), ohne dass die Quellpräsentationen beeinflusst werden.

Präsentationen zusammenführen

Aspose.Slides stellt die AddClone (ISlide)‑Methode bereit, mit der Sie Folien kombinieren können, wobei die Folien ihre Layouts und Stile beibehalten (Standardparameter).

Dieser C#‑Code zeigt, wie Sie Präsentationen zusammenführen:

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    foreach (ISlide slide in pres2.Slides)
    {
        pres1.Slides.AddClone(slide);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

Präsentationen mit einem Folienmaster zusammenführen

Aspose.Slides stellt die AddClone (ISlide, IMasterSlide, Boolean)‑Methode bereit, mit der Sie Folien kombinieren können, während Sie eine Folienmaster‑Präsentationsvorlage anwenden. Auf diese Weise können Sie bei Bedarf den Stil der Folien in der Ausgabepresentation ändern.

Dieser C#‑Code demonstriert den beschriebenen Vorgang:

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    foreach (ISlide slide in pres2.Slides)
    {
        pres1.Slides.AddClone(slide, pres2.Masters[0], allowCloneMissingLayout: true);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

Wenn die Folien in der Ausgabepresentation ein anderes Folienlayout erhalten sollen, verwenden Sie stattdessen die AddClone (ISlide, ILayoutSlide)‑Methode beim Zusammenführen.

Bestimmte Folien aus Präsentationen zusammenführen

Das Zusammenführen bestimmter Folien aus mehreren Präsentationen ist nützlich, um benutzerdefinierte Foliensets zu erstellen. Aspose.Slides für .NET ermöglicht es Ihnen, nur die benötigten Folien auszuwählen und zu importieren. Die API erhält Formatierung, Layout und Design der ursprünglichen Folien.

Der folgende C#‑Code erstellt eine neue Präsentation, fügt Titelfolien aus zwei anderen Präsentationen hinzu und speichert das Ergebnis in einer Datei:

using (Presentation presentation = new Presentation())
using (Presentation presentation1 = new Presentation("presentation1.pptx"))
using (Presentation presentation2 = new Presentation("presentation2.pptx"))
{
    presentation.Slides.RemoveAt(0);

    ISlide slide1 = GetTitleSlide(presentation1);

    if (slide1 != null)
        presentation.Slides.AddClone(slide1);

    ISlide slide2 = GetTitleSlide(presentation2);

    if (slide2 != null)
        presentation.Slides.AddClone(slide2);

    presentation.Save("combined.pptx", SaveFormat.Pptx);
}
static ISlide GetTitleSlide(IPresentation presentation)
{
    foreach (ISlide slide in presentation.Slides)
    {
        if (slide.LayoutSlide.LayoutType == SlideLayoutType.Title)
        {
            return slide;
        }
    }
    return null;
}

Präsentationen mit einem Folienlayout zusammenführen

Dieser C#‑Code zeigt, wie Sie Folien aus Präsentationen kombinieren und dabei Ihr bevorzugtes Folienlayout anwenden, um eine einzige Ausgabepresentation zu erhalten:

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    foreach (ISlide slide in pres2.Slides)
    {
        pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

Präsentationen mit unterschiedlichen Foliengrößen zusammenführen

Um zwei Präsentationen mit unterschiedlichen Foliengrößen zusammenzuführen, müssen Sie eine der Präsentationen so skalieren, dass ihre Größe der der anderen Präsentation entspricht.

Dieser Beispielcode demonstriert den beschriebenen Vorgang:

using (Presentation pres1 = new Presentation("pres1.pptx"),
   pres2 = new Presentation("pres2.pptx"))
{
   pres2.SlideSize.SetSize(pres1.SlideSize.Size.Width, pres1.SlideSize.Size.Height, SlideSizeScaleType.EnsureFit);
 
   foreach (ISlide slide in pres2.Slides)
   {
       pres1.Slides.AddClone(slide);
   }
 
   pres1.Save("combined.pptx", SaveFormat.Pptx);
}

Folien zu einem Präsentationsabschnitt zusammenführen

Dieser C#‑Code zeigt, wie Sie eine bestimmte Folie zu einem Abschnitt in einer Präsentation zusammenführen:

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    for (var index = 0; index < pres2.Slides.Count; index++)
    {
        ISlide slide = pres2.Slides[index];
        pres1.Slides.AddClone(slide, pres1.Sections[0]);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

Die Folie wird am Ende des Abschnitts eingefügt.

FAQ

Are speaker notes preserved during merge?

Ja. Beim Klonen von Folien übernimmt Aspose.Slides alle Folienelemente, einschließlich Notizen, Formatierung und Animationen.

Are comments and their authors transferred?

Kommentare werden als Teil des Folieninhalts mitkopiert. Die Autorbezeichnungen der Kommentare bleiben als Kommentarobjekte in der resultierenden Präsentation erhalten.

What if the source presentation is password-protected?

Sie muss über das Passwort geöffnet werden mittels LoadOptions.Password; nach dem Laden können diese Folien sicher in eine ungeschützte Zieldatei (oder ebenfalls in eine geschützte) geklont werden.

How thread-safe is the merge operation?

Verwenden Sie nicht dieselbe Presentation‑Instanz aus mehreren Threads (/slides/de/net/multithreading/). Die empfohlene Regel lautet „ein Dokument – ein Thread“; verschiedene Dateien können parallel in separaten Threads verarbeitet werden.