Klonování snímků prezentace na Androidu
Úvod
Klónování je proces vytvoření přesné kopie nebo repliky něčeho. Aspose.Slides pro Android prostřednictvím Java také umožňuje vytvořit kopii nebo klon libovolného snímku a poté tento klonovaný snímek vložit 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ém místě v rámci prezentace.
- Klonovat na konci v jiné prezentaci.
- Klonovat na jiném místě v jiné prezentaci.
- Klonovat na konkrétním místě v jiné prezentaci.
V Aspose.Slides pro Android prostřednictvím Java (kolekce objektů ISlide) vystavená objektem Presentation poskytuje metody addClone a insertClone k provedení výše uvedených typů klonování snímků.
Klonovat snímek 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ů:
- Vytvořte instanci třídy Presentation.
- Vytvořte instanci ISlideCollection odkazem na kolekci Slides vystavenou objektem Presentation.
- Zavolejte metodu addClone vystavenou objektem ISlideCollection a předávejte snímek, který má být klonován, jako parametr metodě addClone.
- Zapište upravený soubor prezentace.
V ukázce níže jsme klonovali snímek (nacházející se na první pozici – index nula – v prezentaci) na konec prezentace.
// Vytvořte instanci třídy Presentation, která představuje soubor prezentace
Presentation pres = new Presentation("CloneWithinSamePresentationToEnd.pptx");
try {
// Klonujte požadovaný snímek na konec kolekce snímků ve stejné prezentaci
ISlideCollection slds = pres.getSlides();
slds.addClone(pres.getSlides().get_Item(0));
// Zapište upravenou prezentaci na disk
pres.save("Aspose_CloneWithinSamePresentationToEnd_out.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
Klonovat snímek na jiné místo v rámci prezentace
Pokud chcete klonovat snímek a poté jej použít ve stejném souboru prezentace, ale na jiném místě, použijte metodu insertClone:
- Vytvořte instanci třídy Presentation.
- Vytvořte instanci odkazem na kolekci Slides vystavenou objektem Presentation.
- Zavolejte metodu insertClone vystavenou objektem ISlideCollection a předávejte snímek, který má být klonován, spolu s indexem nové pozice jako parametr metodě insertClone.
- Zapište upravenou prezentaci jako soubor PPTX.
V ukázce níže jsme klonovali snímek (nacházející se na indexu nula – pozice 1 – v prezentaci) na index 1 – pozice 2 – v prezentaci.
// Vytvořte instanci třídy Presentation, která představuje soubor prezentace
Presentation pres = new Presentation("CloneWithInSamePresentation.pptx");
try {
// Klonujte požadovaný snímek na konec kolekce snímků ve stejné prezentaci
ISlideCollection slds = pres.getSlides();
// Klonujte požadovaný snímek na zadaný index ve stejné prezentaci
slds.insertClone(2, pres.getSlides().get_Item(1));
// Zapište upravenou prezentaci na disk
pres.save("Aspose_CloneWithInSamePresentation_out.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
Klonovat snímek na konci jiné prezentace
Pokud potřebujete klonovat snímek z jedné prezentace a použít jej v jiné prezentaci, na konci existujících snímků:
- Vytvořte instanci třídy Presentation obsahující prezentaci, ze které bude snímek klonován.
- Vytvořte instanci třídy Presentation obsahující cílovou prezentaci, do které bude snímek přidán.
- Vytvořte instanci ISlideCollection odkazem na kolekci Slides vystavenou objektem Presentation cílové prezentace.
- Zavolejte metodu addClone vystavenou objektem ISlideCollection a předávejte snímek ze zdrojové prezentace jako parametr metodě addClone.
- Zapište upravený cílový soubor prezentace.
V ukázce níže jsme klonovali snímek (z první pozice zdrojové prezentace) na konec cílové prezentace.
// Vytvořte instanci třídy Presentation pro načtení zdrojového souboru prezentace
Presentation srcPres = new Presentation("CloneAtEndOfAnother.pptx");
try {
// Vytvořte instanci třídy Presentation pro cílový PPTX (kam bude snímek klonován)
Presentation destPres = new Presentation();
try {
// Klonujte požadovaný snímek ze zdrojové prezentace na konec kolekce snímků v cílové prezentaci
ISlideCollection slds = destPres.getSlides();
slds.addClone(srcPres.getSlides().get_Item(0));
// Napište cílovou prezentaci na disk
destPres.save("Aspose2_out.pptx", SaveFormat.Pptx);
} finally {
destPres.dispose();
}
} finally {
srcPres.dispose();
}
Klonovat snímek na jiné místo v jiné prezentaci
Pokud potřebujete klonovat snímek z jedné prezentace a použít jej v jiné prezentaci, na konkrétním místě:
- Vytvořte instanci třídy Presentation obsahující zdrojovou prezentaci, ze které bude snímek klonován.
- Vytvořte instanci třídy Presentation obsahující prezentaci, do které bude snímek přidán.
- Vytvořte instanci ISlideCollection odkazem na kolekci Slides vystavenou objektem Presentation cílové prezentace.
- Zavolejte metodu insertClone vystavenou objektem ISlideCollection a předávejte snímek ze zdrojové prezentace spolu s požadovanou pozicí jako parametr metodě insertClone.
- Zapište upravený cílový soubor prezentace.
V ukázce níže jsme klonovali snímek (z indexu nula zdrojové prezentace) na index 1 (pozice 2) cílové prezentace.
// Vytvořte instanci třídy Presentation pro načtení zdrojového souboru prezentace
Presentation srcPres = new Presentation("CloneAtEndOfAnother.pptx");
try {
// Vytvořte instanci třídy Presentation pro cílový PPTX (kam bude snímek klonován)
Presentation destPres = new Presentation();
try {
// Klonujte požadovaný snímek ze zdrojové prezentace na konec kolekce snímků v cílové prezentaci
ISlideCollection slds = destPres.getSlides();
slds.insertClone(2, srcPres.getSlides().get_Item(0));
// Zapište cílovou prezentaci na disk
destPres.save("Aspose2_out.pptx", SaveFormat.Pptx);
} finally {
destPres.dispose();
}
} finally {
srcPres.dispose();
}
Klonovat snímek na konkrétním místě 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, nejprve musíte klonovat požadovaný hlavní snímek ze zdrojové prezentace do cílové prezentace. Pak tento hlavní snímek použijete pro klonování snímku s hlavním snímkem. Metoda addClone(ISlide, IMasterSlide, boolean) 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íže uvedených kroků:
- Vytvořte instanci třídy Presentation obsahující zdrojovou prezentaci, ze které bude snímek klonován.
- Vytvořte instanci třídy Presentation obsahující cílovou prezentaci, do které bude snímek klonován.
- Získejte přístup ke snímku, který má být klonován, spolu s jeho hlavním snímkem.
- Vytvořte instanci IMasterSlideCollection odkazem na kolekci Masters vystavenou objektem Presentation cílové prezentace.
- Zavolejte metodu addClone vystavenou objektem [IMasterSlideCollection] a předávejte hlavní snímek ze zdrojového PPTX jako parametr metodě addClone.
- Vytvořte instanci ISlideCollection nastavením reference na kolekci Slides vystavenou objektem Presentation cílové prezentace.
- Zavolejte metodu addClone vystavenou objektem [ISlideCollection] a předávejte snímek ze zdrojové prezentace a hlavní snímek jako parametry metodě addClone.
- Zapište upravený cílový soubor prezentace.
V ukázce níže 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.
// Vytvořte instanci třídy Presentation pro načtení zdrojového souboru prezentace
Presentation srcPres = new Presentation("CloneToAnotherPresentationWithMaster.pptx");
try {
// Vytvořte instanci třídy Presentation pro cílovou prezentaci (kam bude snímek klonován)
Presentation destPres = new Presentation();
try {
// Vytvořte ISlide z kolekce snímků ve zdrojové prezentaci spolu s
// hlavním snímkem
ISlide SourceSlide = srcPres.getSlides().get_Item(0);
IMasterSlide SourceMaster = SourceSlide.getLayoutSlide().getMasterSlide();
// Klonujte požadovaný hlavní snímek ze zdrojové prezentace do kolekce hlavních snímků v
// cílové prezentaci
IMasterSlideCollection masters = destPres.getMasters();
IMasterSlide DestMaster = SourceSlide.getLayoutSlide().getMasterSlide();
// Klonujte požadovaný hlavní snímek ze zdrojové prezentace do kolekce hlavních snímků v
// cílové prezentaci
IMasterSlide iSlide = masters.addClone(SourceMaster);
// Klonujte požadovaný snímek ze zdrojové prezentace s požadovaným hlavním snímkem na konec
// kolekce snímků v cílové prezentaci
ISlideCollection slds = destPres.getSlides();
slds.addClone(SourceSlide, iSlide, true);
// Uložte cílovou prezentaci na disk
destPres.save("CloneToAnotherPresentationWithMaster_out.pptx", SaveFormat.Pptx);
} finally {
destPres.dispose();
}
} finally {
srcPres.dispose();
}
Klonovat snímek na konci určené sekce
Pokud chcete klonovat snímek a poté jej použít ve stejné prezentaci, ale v jiné sekci, použijte metodu addClone vystavenou rozhraním ISlideCollection. Aspose.Slides pro Android prostřednictvím Java umožňuje klonovat snímek z první sekce a poté vložit tento klonovaný snímek do druhé sekce téže prezentace.
Následující úryvek kódu ukazuje, jak klonovat snímek a vložit klonovaný snímek do určené sekce.
IPresentation presentation = new Presentation();
try {
presentation.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 200, 50, 300, 100);
presentation.getSections().addSection("Section 1", presentation.getSlides().get_Item(0));
ISection section2 = presentation.getSections().appendEmptySection("Section 2");
presentation.getSlides().addClone(presentation.getSlides().get_Item(0), section2);
// Uložte cílovou prezentaci na disk
presentation.save(dataDir + "CloneSlideIntoSpecifiedSection.pptx", SaveFormat.Pptx);
} finally {
if (presentation != null) presentation.dispose();
}
Často kladené otázky
Klonují se poznámky k přednášejícímu a komentáře recenzentů?
Ano. Stránka s poznámkami a recenzní komentáře jsou součástí klonu. Pokud je nechcete, odstraňte je po vložení.
Jak jsou zpracovány grafy a jejich datové zdroje?
Objekt grafu, formátování a vložená data jsou zkopírována. Pokud byl graf propojen s externím zdrojem (např. sešitem vloženým jako OLE), toto propojení zůstane zachováno jako OLE objekt. Po přesunu mezi soubory ověřte dostupnost dat a chování aktualizace.
Mohu řídit 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 pak do ní snímek přesuňte.