Klonování snímků prezentace v C++

Úvod

Klónování je proces vytváření přesné kopie nebo repliky něčeho. Aspose.Slides pro C++ také umožňuje vytvořit kopii nebo klon libovolného snímku a poté vložit tento klonovaný snímek do aktuální nebo jiné otevřené prezentace. Proces klonování snímku vytvoří nový snímek, který mohou vývojáři upravovat, aniž by změnili původní snímek. Existuje několik možných způsobů, jak klonovat snímek:

  • Klonovat na konci v rámci prezentace.
  • Klonovat na jiné pozici v prezentaci.
  • Klonovat na konci v jiné prezentaci.
  • Klonovat na jiné pozici v jiné prezentaci.
  • Klonovat na konkrétní pozici v jiné prezentaci.

V Aspose.Slides pro C++ (kolekce objektů ISlide ) vystavená objektem Presentation poskytuje metody AddClone a InsertClone, které provádějí výše uvedené typy klonování snímků

Klonování snímku na konci prezentace

Pokud chcete klonovat snímek a poté jej použít ve stejném souboru prezentace na konci existujících snímků, použijte metodu AddClone podle níže uvedených kroků:

  1. Vytvořte instanci třídy Presentation.
  2. Vytvořte instanci třídy ISlideCollection odkazem na kolekci Slides, která je vystavena objektem Presentation.
  3. Zavolejte metodu AddClone vystavenou objektem ISlideCollection a jako parametr předáte snímek, který má být klonován.
  4. Uložte upravený soubor prezentace.

V níže uvedeném příkladu jsme klonovali snímek (nacházející se na první pozici – index nula – prezentace) na konec prezentace.

Klonování snímku na jinou pozici v rámci prezentace

Pokud chcete klonovat snímek a poté jej použít ve stejném souboru prezentace, ale na jiné pozici, použijte metodu InsertClone:

  1. Vytvořte instanci třídy Presentation.
  2. Získejte instanci třídy odkazem na kolekci Slides, která je vystavena objektem Presentation.
  3. Zavolejte metodu InsertClone vystavenou objektem ISlideCollection a jako parametry předáte snímek, který má být klonován, a index nové pozice.
  4. Uložte upravenou prezentaci jako soubor PPTX.

V níže uvedeném příkladu jsme klonovali snímek (nacházející se na indexu nula – pozice 1 – prezentace) na index 1 – pozice 2 – prezentace.

Klonování snímku na konci jiné prezentace

Pokud potřebujete klonovat snímek z jedné prezentace a použít jej v jiné souboru prezentace, na konci existujících snímků:

  1. Vytvořte instanci třídy Presentation, která obsahuje prezentaci, ze které bude snímek klonován.
  2. Vytvořte instanci třídy Presentation, která obsahuje cílovou prezentaci, do které bude snímek přidán.
  3. Získejte instanci třídy ISlideCollection odkazem na kolekci Slides, která je vystavena objektem Presentation cílové prezentace.
  4. Zavolejte metodu AddClone vystavenou objektem ISlideCollection a jako parametr předáte snímek ze zdrojové prezentace.
  5. Uložte upravený soubor cílové prezentace.

V níže uvedeném příkladu jsme klonovali snímek (z první indexu zdrojové prezentace) na konec cílové prezentace.

Klonování snímku na jinou pozici v jiné prezentaci

Pokud potřebujete klonovat snímek z jedné prezentace a použít jej v jiné souboru prezentace, na konkrétní pozici:

  1. Vytvořte instanci třídy Presentation, která obsahuje zdrojovou prezentaci, ze které bude snímek klonován.
  2. Vytvořte instanci třídy Presentation, která obsahuje prezentaci, do které bude snímek přidán.
  3. Získejte instanci třídy ISlideCollection odkazem na kolekci Slides vystavenou objektem Presentation cílové prezentace.
  4. Zavolejte metodu InsertClone vystavenou objektem ISlideCollection, a jako parametry předáte snímek ze zdrojové prezentace a požadovanou pozici.
  5. Uložte upravený soubor cílové prezentace.

V níže uvedeném příkladu jsme klonovali snímek (z indexu nula zdrojové prezentace) na index 1 (pozice 2) cílové prezentace.

Klonování snímku na konkrétní pozici v jiné prezentaci

Pokud potřebujete klonovat snímek s hlavním snímkem (master slide) z jedné prezentace a použít jej v jiné prezentaci, musíte nejprve klonovat požadovaný hlavní snímek ze zdrojové prezentace do cílové prezentace. Poté použijete tento hlavní snímek při klonování snímku s hlavním snímkem. Metoda AddClone(ISlide, IMasterSlide) očekává hlavní snímek z cílové prezentace, nikoli ze zdrojové. Pro klonování snímku s hlavním snímkem postupujte podle následujících kroků:

  1. Vytvořte instanci třídy Presentation, která obsahuje zdrojovou prezentaci, ze které bude snímek klonován.
  2. Vytvořte instanci třídy Presentation, která obsahuje cílovou prezentaci, do které bude snímek klonován.
  3. Získejte přístup k snímku, který má být klonován, spolu s hlavním snímkem.
  4. Vytvořte instanci třídy IMasterSlideCollection odkazem na kolekci Masters, která je vystavena objektem Presentation cílové prezentace.
  5. Zavolejte metodu AddClone vystavenou objektem IMasterSlideCollection a jako parametr předáte hlavní snímek ze zdrojového PPTX, který má být klonován.
  6. Vytvořte instanci třídy ISlideCollection nastavením odkazu na kolekci Slides vystavenou objektem Presentation, cílové prezentace.
  7. Zavolejte metodu AddClone vystavenou objektem ISlideCollection a jako parametry předáte snímek ze zdrojové prezentace, který má být klonován, a hlavní snímek.
  8. Uložte upravený soubor cílové prezentace.

V níže uvedeném příkladu jsme klonovali snímek s hlavním snímkem (nacházející se na indexu nula zdrojové prezentace) na konec cílové prezentace pomocí hlavního snímku ze zdrojového snímku.

Klonování snímku na konci specifikované sekce

Pokud chcete klonovat snímek a poté jej použít ve stejném souboru prezentace, ale v jiné sekci, použijte metodu AddClone() vystavenou rozhraním ISlideCollection. Aspose.Slides pro C++ umožňuje klonovat snímek z první sekce a poté vložit tento klonovaný snímek do druhé sekce stejné prezentace.

Následující úryvek kódu ukazuje, jak klonovat snímek a vložit klonovaný snímek do určené sekce.

Zajistěte shodu velikosti snímků

Při klonování snímků do jiné prezentace se ujistěte, že cílová prezentace má stejnou velikost snímku jako zdrojová. Pokud se velikosti snímků liší, Aspose.Slides automaticky nepřepočítává velikost klonovaných tvarů – jejich původní souřadnice a rozměry zůstávají zachovány, což může způsobit, že obsah bude nesprávně zarovnán nebo přesahovat hranice snímku.

Můžete nastavit velikost snímku cílové prezentace tak, aby odpovídala zdrojové, předtím než klonujete hlavní snímek a snímek:

auto sourceSize = sourcePresentation->get_SlideSize()->get_Size();

targetPresentation->get_SlideSize()->SetSize(
    sourceSize.get_Width(), sourceSize.get_Height(), SlideSizeScaleType::DoNotScale);

Udělejte to před klonováním hlavního snímku a snímku.

FAQ

Klony zahrnují poznámky řečníka a komentáře recenzenta?

Ano. Stránka s poznámkami a komentáře recenzenta jsou součástí klonu. Pokud je nechcete, odstraňte je po vložení.

Jak jsou zpracovány grafy a jejich datové zdroje?

Objekt grafu, jeho formátování a vložená data jsou zkopírovány. Pokud byl graf propojen s externím zdrojem (např. se sešitem vloženým jako OLE), toto propojení je zachováno jako OLE objekt. Po přesunu mezi soubory ověřte dostupnost dat a chování aktualizace.

Mohu ovládat pozici vložení a sekce pro klon?

Ano. Klon můžete vložit na konkrétní index snímku a umístit jej do vybrané sekce. Pokud cílová sekce neexistuje, nejprve ji vytvořte a poté do ní snímek přesuňte.