Efficientes Zusammenführen von Präsentationen auf Android

Präsentationszusammenführung

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

Was kann zusammengeführt werden

Mit Aspose.Slides können Sie Folgendes zusammenführen:

  • gesamte Präsentationen. Alle Folien der Präsentationen landen in einer einzigen Präsentation
  • spezifische Folien. Ausgewählte Folien landen in einer einzigen Präsentation
  • Präsentationen in einem Format (PPT zu PPT, PPTX zu PPTX usw.) und in verschiedenen Formaten (PPT zu PPTX, PPTX zu ODP usw.) miteinander.

Zusammenführungsoptionen

Sie können Optionen festlegen, die bestimmen, ob

  • jede Folie in der Ausgabepäsentation einen eindeutigen Stil beibehält
  • ein bestimmter Stil für alle Folien in der Ausgabepäsentation 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 Zusammenführungsprozesses definieren. Jedes Presentation‑Objekt besitzt eine Slides‑Sammlung, sodass Sie die AddClone‑Methode der Präsentation aufrufen können, zu der Sie Folien zusammenführen möchten.

Die AddClone‑Methode gibt ein ISlide‑Objekt zurück, das ein Klon der Quellfolie ist. Die Folien in einer Ausgabepäsentation sind einfach eine Kopie der Folien aus 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 bietet die Methode AddClone(ISlide) an, mit der Sie Folien kombinieren können, wobei die Folien ihre Layouts und Stile beibehalten (Standard­parameter).

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

Presentation pres1 = new Presentation("pres1.pptx");
try {
    Presentation pres2 = new Presentation("pres2.pptx");
    try {
        for(ISlide slide : pres2.getSlides())
        {
            pres1.getSlides().addClone(slide);
        }
    } finally {
        if (pres2 != null) pres2.dispose();
    }
    pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
    if (pres1 != null) pres1.dispose();
}

Präsentationen mit einem Folienmaster zusammenführen

Aspose.Slides stellt die Methode AddClone(ISlide, IMasterSlide, boolean) bereit, mit der Sie Folien kombinieren können, wobei eine Folienmaster‑Präsentationsvorlage angewendet wird. Auf diese Weise können Sie bei Bedarf den Stil der Folien in der Ausgabepäsentation ändern.

Dieser Java‑Code demonstriert den beschriebenen Vorgang:

Presentation pres1 = new Presentation("pres1.pptx");
try {
    Presentation pres2 = new Presentation("pres2.pptx");
    try {
        for(ISlide slide : pres2.getSlides())
        {
            pres1.getSlides().addClone(slide, pres2.getMasters().get_Item(0), true);
        }
    } finally {
        if (pres2 != null) pres2.dispose();
    }
    pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
    if (pres1 != null) pres1.dispose();
}

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

Bestimmte Folien aus Präsentationen zusammenführen

Das Zusammenführen bestimmter Folien aus mehreren Präsentationen ist nützlich, um individuelle Foliensets zu erstellen. Aspose.Slides für Android via Java ermöglicht es, nur die benötigten Folien auszuwählen und zu importieren. Die API bewahrt die Formatierung, das Layout und das Design der Originalfolien.

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

Presentation presentation = new Presentation();
Presentation presentation1 = new Presentation("presentation1.pptx");
Presentation presentation2 = new Presentation("presentation2.pptx");
try {
    presentation.getSlides().removeAt(0);
    
    ISlide slide1 = getTitleSlide(presentation1);

    if (slide1 != null)
        presentation.getSlides().addClone(slide1);

    ISlide slide2 = getTitleSlide(presentation2);

    if (slide2 != null)
        presentation.getSlides().addClone(slide2);

    presentation.save("combined.pptx", SaveFormat.Pptx);
} finally {
    presentation2.dispose();
    presentation1.dispose();
    presentation.dispose();
}
static ISlide getTitleSlide(IPresentation presentation) {
    for (ISlide slide : presentation.getSlides()) {
        if (slide.getLayoutSlide().getLayoutType() == SlideLayoutType.Title) {
            return slide;
        }
    }
    return null;
}

Präsentationen mit einem Folienlayout zusammenführen

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

Presentation pres1 = new Presentation("pres1.pptx");
try {
    Presentation pres2 = new Presentation("pres2.pptx");
    try {
        for(ISlide slide : pres2.getSlides())
        {
            pres1.getSlides().addClone(slide, pres2.getLayoutSlides().get_Item(0));
        }
    } finally {
        if (pres2 != null) pres2.dispose();
    }
    pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
    if (pres1 != null) pres1.dispose();
}

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 auf die Größe der anderen anpassen.

Presentation pres1 = new Presentation("pres1.pptx");
try {
    Presentation pres2 = new Presentation("pres2.pptx");
    try {
        pres2.getSlideSize().setSize((float)pres1.getSlideSize().getSize().getWidth(), (float)pres1.getSlideSize().getSize().getHeight(), SlideSizeScaleType.EnsureFit);

        for(ISlide slide : pres2.getSlides())
        {
            pres1.getSlides().addClone(slide);
        }
    } finally {
        if (pres2 != null) pres2.dispose();
    }
    pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
    if (pres1 != null) pres1.dispose();
}

Folien zu einem Präsentationsabschnitt zusammenführen

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

Presentation pres1 = new Presentation("pres1.pptx");
try {
    Presentation pres2 = new Presentation("pres2.pptx");
    try {
        for(ISlide slide : pres2.getSlides())
        {
            pres1.getSlides().addClone(slide, pres1.getSections().get_Item(0));
        }
    } finally {
        if (pres2 != null) pres2.dispose();
    }
    pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
    if (pres1 != null) pres1.dispose();
}

Die Folie wird am Ende des Abschnitts hinzugefügt.

FAQ

Gibt es Einschränkungen hinsichtlich der Folienzahl beim Zusammenführen von Präsentationen?

Keine festen Einschränkungen. Aspose.Slides kann große Dateien verarbeiten, aber die Leistung hängt von der Größe und den Systemressourcen ab. Für sehr große Präsentationen wird empfohlen, eine 64‑Bit‑JVM zu verwenden und ausreichend Heap‑Speicher zuzuweisen.

Kann ich Präsentationen mit eingebettetem Video oder Audio zusammenführen?

Ja, Aspose.Slides bewahrt multimediale Inhalte, die in Folien eingebettet sind, jedoch kann die endgültige Präsentation deutlich größer werden.

Werden Schriftarten beim Zusammenführen von Präsentationen erhalten bleiben?

Ja. In Quellpräsentationen verwendete Schriftarten werden im Ausgabedokument erhalten, vorausgesetzt, sie sind im System installiert oder eingebettet.