Efektivně sloučit prezentace v JavaScriptu

Přehled

Aspose.Slides umožňuje sloučit prezentace klonováním snímků z jedné prezentace do druhé. Tento článek vysvětluje, jak sloučit celé prezentace nebo vybrané snímky, použít hlavní snímek nebo konkrétní rozvržení během sloučení, zacházet s prezentacemi s různými velikostmi snímků a přidat sloučené snímky do sekce prezentace. Také pokrývá praktické poznámky související se sloučeným obsahem, včetně poznámek řečníka, komentářů, souborů chráněných heslem a používání vláken.

Sloučení prezentací

Když sloučíte jednu prezentaci s druhou, efektivně kombinujete jejich snímky do jedné prezentace a získáte jeden soubor.

Co lze sloučit

S Aspose.Slides můžete sloučit

  • celé prezentace. Všechny snímky z prezentací skončí v jedné prezentaci
  • konkrétní snímky. Vybrané snímky skončí v jedné prezentaci
  • prezentace v jednom formátu (PPT na PPT, PPTX na PPTX, atd.) a v různých formátech (PPT na PPTX, PPTX na ODP, atd.) mezi sebou.

Možnosti sloučení

Můžete použít možnosti, které určují, zda

  • každý snímek ve výstupní prezentaci zachová jedinečný styl
  • pro všechny snímky ve výstupní prezentaci se použije konkrétní styl.

Pro sloučení prezentací poskytuje Aspose.Slides metody addClone (z třídy SlideCollection). Existuje několik implementací metod addClone, které definují parametry procesu sloučení prezentací. Každý objekt Presentation má kolekci Slides , takže můžete zavolat metodu addClone z prezentace, do které chcete snímky sloučit.

Metoda addClone vrací objekt Slide, který je klonem zdrojového snímku. Snímky ve výstupní prezentaci jsou jednoduše kopií snímků ze zdroje. Proto můžete měnit výsledné snímky (například aplikovat styly, možnosti formátování nebo rozvržení) bez obav, že by byly ovlivněny zdrojové prezentace.

Sloučení prezentací

Aspose.Slides poskytuje metodu AddClone(ISlide) , která umožňuje kombinovat snímky tak, aby snímky zachovaly svá rozvržení a styly (výchozí parametry).

Tento JavaScriptový kód ukazuje, jak sloučit prezentace:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide);
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

Sloučení prezentací s hlavním snímkem

Aspose.Slides poskytuje metodu AddClone(ISlide, IMasterSlide, boolean) , která umožňuje kombinovat snímky při aplikaci šablony hlavního snímku (slide master). Tímto způsobem můžete v případě potřeby změnit styl snímků ve výstupní prezentaci.

Tento kód v JavaScriptu demonstruje popsanou operaci:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide, pres2.getMasters().get_Item(0), true);
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

Pokud chcete, aby snímky ve výstupní prezentaci měly jiné rozvržení, při sloučení použijte místo toho metodu addClone(ISlide, ILayoutSlide).

Sloučení specifických snímků z prezentací

Sloučení konkrétních snímků z několika prezentací je užitečné při tvorbě vlastních sad snímků. Aspose.Slides pro Node.js via Java umožňuje vybrat a importovat pouze snímky, které potřebujete. API zachovává formátování, rozvržení a design originálních snímků.

Následující JavaScriptový kód vytvoří novou prezentaci, přidá titulní snímky ze dvou dalších prezentací a výsledek uloží do souboru:

function getTitleSlide(presentation) {
  for (let i = 0; i < presentation.getSlides().size(); i++) {
    let slide = presentation.getSlides().get_Item(i);
    if (slide.getLayoutSlide().getLayoutType() == aspose.slides.SlideLayoutType.Title) {
      return slide;
    }
  }
  return null;
}
let presentation = new aspose.slides.Presentation();
let presentation1 = new aspose.slides.Presentation("presentation1.pptx");
let presentation2 = new aspose.slides.Presentation("presentation2.pptx");
try {
    presentation.getSlides().removeAt(0);
    
    let slide1 = getTitleSlide(presentation1);

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

    let slide2 = getTitleSlide(presentation2);

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

    presentation.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation2.dispose();
    presentation1.dispose();
    presentation.dispose();
}

Sloučení prezentací s rozvržením snímků

Tento JavaScriptový kód ukazuje, jak kombinovat snímky z prezentací při aplikaci preferovaného rozvržení snímků, aby vznikla jedna výstupní prezentace:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide, pres2.getLayoutSlides().get_Item(0));
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

Sloučení prezentací s různými velikostmi snímků

Pro sloučení dvou prezentací s různými velikostmi snímků musíte velikost jedné z nich upravit tak, aby odpovídala velikosti druhé prezentace.

Tento ukázkový kód demonstruje popsanou operaci:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        pres2.getSlideSize().setSize(pres1.getSlideSize().getSize().getWidth(), pres1.getSlideSize().getSize().getHeight(), aspose.slides.SlideSizeScaleType.EnsureFit);
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide);
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

Sloučení snímků do sekce prezentace

Tento JavaScriptový kód ukazuje, jak sloučit konkrétní snímek do sekce v prezentaci:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide, pres1.getSections().get_Item(0));
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

Snímek je přidán na konec sekce.

FAQ

Zůstávají poznámky řečníka při sloučení zachovány?

Ano. Při klonování snímků Aspose.Slides přenáší všechny prvky snímku, včetně poznámek, formátování a animací.

Přenesou se komentáře a jejich autoři?

Komentáře, jako součást obsahu snímku, jsou s ním zkopírovány. Štítky autorů komentářů jsou zachovány jako objekty komentářů v výsledné prezentaci.

Co když je zdrojová prezentace chráněna heslem?

Musí být otevřena s heslem pomocí LoadOptions.setPassword; po načtení lze tyto snímky bezpečně klonovat do nechráněného cílového souboru (nebo také do chráněného).

Jak je operace sloučení vlákny bezpečná?

Nepoužívejte stejnou instanci Presentation z více vláken. Doporučené pravidlo je „jeden dokument — jedno vlákno“; různé soubory lze zpracovávat paralelně v samostatných vláknech.

Viz také

Aspose poskytuje ZDARMA Online Collage Maker. Pomocí této online služby můžete sloučit JPG to JPG nebo PNG na PNG obrázky, vytvořit foto mřížky a další.

Vyzkoušejte Aspose ZDARMA Online Merger. Umožňuje sloučit PowerPointové prezentace ve stejném formátu (např. PPT na PPT, PPTX na PPTX) nebo mezi různými formáty (např. PPT na PPTX, PPTX na ODP).

Aspose ZDARMA Online Merger