Prezentációs Diákok Klónozása Java-ban
Bevezetés
A klónozás egy adott dolog pontos másolatának vagy replikájának létrehozása. Az Aspose.Slides for Java lehetővé teszi bármely dia másolását vagy klónozását, majd ennek a klónozott diának a beszúrását az aktuális vagy bármely más megnyitott bemutatóba. A diáklónozási folyamat egy új diát hoz létre, amelyet a fejlesztők módosíthatnak anélkül, hogy az eredeti diát megváltoztatnák. Többféle módja van egy dia klónozásának:
- Klónozás a bemutató végén.
- Klónozás a bemutató másik pozíciójában.
- Klónozás egy másik bemutató végén.
- Klónozás egy másik bemutató másik pozíciójában.
- Klónozás egy meghatározott pozícióban egy másik bemutatóban.
Az Aspose.Slides for Java-ban a Presentation objektum által biztosított (az ISlide objektumok gyűjteménye) a addClone és a insertClone metódusokat kínálja a fenti típusú diáklónozások végrehajtásához
Dia klónozása a bemutató végén
Ha egy diát szeretne klónozni, és azt ugyanabban a bemutatófájlban a meglévő diák végén használni, használja az addClone metódust az alább felsorolt lépések szerint:
- Hozzon létre egy példányt a Presentation osztályból.
- Példányosítsa az ISlideCollection osztályt a Presentation objektum által biztosított Slides gyűjteményre hivatkozva.
- Hívja meg a addClone metódust az ISlideCollection objektumon, és adja át a klónozandó diát paraméterként a addClone metódusnak.
- Írja ki a módosított bemutatófájlt.
Az alább bemutatott példában egy diát (amely a bemutató első pozíciójában – 0 index – helyezkedik el) klónoztunk a bemutató végére.
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel
Presentation pres = new Presentation("CloneWithinSamePresentationToEnd.pptx");
try {
// Klónozza a kívánt diát a ugyanabban a prezentációban lévő diakollekció végére
ISlideCollection slds = pres.getSlides();
slds.addClone(pres.getSlides().get_Item(0));
// Írja a módosított prezentációt a lemezre
pres.save("Aspose_CloneWithinSamePresentationToEnd_out.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
Dia klónozása egy másik pozícióba ugyanabban a bemutatóban
Ha egy diát szeretne klónozni, és ugyanabban a bemutatófájlban, de más pozícióban használni, használja az insertClone metódust:
- Hozzon létre egy példányt a Presentation osztályból.
- Példányosítsa az osztályt a Slides gyűjteményre hivatkozva, amelyet a Presentation objektum biztosít.
- Hívja meg az insertClone metódust az ISlideCollection objektumon, és adja át a klónozandó diát valamint az új pozíció indexét paraméterként az insertClone metódusnak.
- Írja ki a módosított bemutatót PPTX fájlként.
Az alább bemutatott példában egy diát (amely a nulla indexen – 1. pozíció – helyezkedik el a bemutatóban) klónoztunk az 1-es indexre – 2. pozícióra – a bemutatóban.
// Példányosítsa a Presentation osztályt, amely egy prezentációs fájlt képvisel
Presentation pres = new Presentation("CloneWithInSamePresentation.pptx");
try {
// Klónozza a kívánt diát a ugyanabban a prezentációban lévő diakollekció végére
ISlideCollection slds = pres.getSlides();
// Klónozza a kívánt diát a megadott indexre ugyanabban a prezentációban
slds.insertClone(2, pres.getSlides().get_Item(1));
// Írja a módosított prezentációt a lemezre
pres.save("Aspose_CloneWithInSamePresentation_out.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
Dia klónozása egy másik bemutató végén
Ha egy diát egy bemutatóból kell klónozni és egy másik bemutatófájlban, a meglévő diák végén használni:
- Hozzon létre egy példányt a Presentation osztályból, amely a forrás bemutatót tartalmazza, ahonnan a diát klónozni kell.
- Hozzon létre egy példányt a Presentation osztályból, amely a célnak szánt bemutatót tartalmazza, amelyhez a diát hozzá kell adni.
- Példányosítsa az ISlideCollection osztályt a célnak szánt bemutató Presentation objektumának [Slides] (https://reference.aspose.com/slides/hu/java/com.aspose.slides/Presentation#getSlides--) gyűjteményére hivatkozva.
- Hívja meg az addClone metódust az ISlideCollection objektumon, és adja át a forrás bemutatóból származó diát paraméterként az addClone metódusnak.
- Írja ki a módosított célnak szánt bemutatófájlt.
Az alább bemutatott példában egy diát (a forrás bemutató első indexéről) klónoztunk a célnak szánt bemutató végére.
// Példányosítsa a Presentation osztályt a forrás prezentációs fájl betöltéséhez
Presentation srcPres = new Presentation("CloneAtEndOfAnother.pptx");
try {
// Példányosítsa a Presentation osztályt a cél PPTX-hez (ahová a dia klónozva lesz)
Presentation destPres = new Presentation();
try {
// Klónozza a kívánt diát a forrás prezentációból a cél prezentáció diakollekciójának végére
ISlideCollection slds = destPres.getSlides();
slds.addClone(srcPres.getSlides().get_Item(0));
// Írja a cél prezentációt a lemezre
destPres.save("Aspose2_out.pptx", SaveFormat.Pptx);
} finally {
destPres.dispose();
}
} finally {
srcPres.dispose();
}
Dia klónozása egy másik pozícióba egy másik bemutatóban
Ha egy diát egy bemutatóból kell klónozni és egy másik bemutatófájlban, egy meghatározott pozícióban használni:
- Hozzon létre egy példányt a Presentation osztályból, amely a forrás bemutatót tartalmazza, ahonnan a diát klónozni kell.
- Hozzon létre egy példányt a Presentation osztályból, amely a célnak szánt bemutatót tartalmazza, amelyhez a diát hozzá kell adni.
- Példányosítsa az ISlideCollection osztályt a célnak szánt bemutató Presentation objektumának Slides gyűjteményére hivatkozva.
- Hívja meg az insertClone metódust az ISlideCollection objektumon, és adja át a forrás bemutatóból származó diát valamint a kívánt pozíciót paraméterként az insertClone metódusnak.
- Írja ki a módosított célnak szánt bemutatófájlt.
Az alább bemutatott példában egy diát (a forrás bemutató nulla indexéről) klónoztunk az 1-es indexre (2. pozíció) a célnak szánt bemutatóban.
// Példányosítsa a Presentation osztályt a forrás prezentációs fájl betöltéséhez
Presentation srcPres = new Presentation("CloneAtEndOfAnother.pptx");
try {
// Példányosítsa a Presentation osztályt a cél PPTX-hez (ahová a dia klónozva lesz)
Presentation destPres = new Presentation();
try {
// Klónozza a kívánt diát a forrás prezentációból a cél prezentáció diakollekciójának végére
ISlideCollection slds = destPres.getSlides();
slds.insertClone(2, srcPres.getSlides().get_Item(0));
// Írja a cél prezentációt a lemezre
destPres.save("Aspose2_out.pptx", SaveFormat.Pptx);
} finally {
destPres.dispose();
}
} finally {
srcPres.dispose();
}
Dia klónozása egy meghatározott pozícióban egy másik bemutatóban
Ha egy diát egy mester diával egy bemutatóból kell klónozni és egy másik bemutatóban használni, először a kívánt mester diát kell a forrás bemutatóból a célnak szánt bemutatóba klónozni. Ezután ezt a mester diát kell felhasználni a mesterrel rendelkező dia klónozásához. A addClone(ISlide, IMasterSlide, boolean) metódus egy a célnak szánt bemutatóból származó mester diát vár, nem a forrásból. A dia mesterrel való klónozásához kövesse az alábbi lépéseket:
- Hozzon létre egy példányt a Presentation osztályból, amely a forrás bemutatót tartalmazza, ahonnan a diát klónozni kell.
- Hozzon létre egy példányt a Presentation osztályból, amely a célnak szánt bemutatót tartalmazza, amelyhez a diát klónozni kell.
- Szerezze meg a klónozandó diát a kapcsolódó mester diával együtt.
- Példányosítsa az IMasterSlideCollection osztályt a célnak szánt bemutató Presentation objektumának Masters gyűjteményére hivatkozva.
- Hívja meg az addClone metódust az IMasterSlideCollection objektumon, és adja át a forrás PPTX-ből származó mester diát paraméterként az addClone metódusnak.
- Példányosítsa az ISlideCollection osztályt a célnak szánt bemutató Presentation objektumának Slides gyűjteményére hivatkozva.
- Hívja meg az addClone metódust az ISlideCollection objektumon, és adja át a forrás bemutatóból származó klónozandó diát valamint a mester diát paraméterként az addClone metódusnak.
- Írja ki a módosított célnak szánt bemutatófájlt.
Az alább bemutatott példában egy mester diával rendelkező diát (amely a forrás bemutató nulla indexén helyezkedik el) a célnak szánt bemutató végére klónoztunk a forrás diából származó master felhasználásával.
// Példányosítsa a Presentation osztályt a forrás prezentációs fájl betöltéséhez
Presentation srcPres = new Presentation("CloneToAnotherPresentationWithMaster.pptx");
try {
// Példányosítsa a Presentation osztályt a cél prezentációhoz (ahová a dia klónozva lesz)
Presentation destPres = new Presentation();
try {
// Példányosítson egy ISlidet a forrás prezentáció diakollekciójából, valamint
// a mester diát
ISlide SourceSlide = srcPres.getSlides().get_Item(0);
IMasterSlide SourceMaster = SourceSlide.getLayoutSlide().getMasterSlide();
// Klónozza a kívánt mester diát a forrás prezentációból a mesterek gyűjteményébe a
// cél prezentációban
IMasterSlideCollection masters = destPres.getMasters();
IMasterSlide DestMaster = SourceSlide.getLayoutSlide().getMasterSlide();
// Klónozza a kívánt mester diát a forrás prezentációból a mesterek gyűjteményébe a
// cél prezentációban
IMasterSlide iSlide = masters.addClone(SourceMaster);
// Klónozza a kívánt diát a forrás prezentációból a kívánt mesterrel a
// cél prezentáció diakollekciójának végére
ISlideCollection slds = destPres.getSlides();
slds.addClone(SourceSlide, iSlide, true);
// Mentse a cél prezentációt a lemezre
destPres.save("CloneToAnotherPresentationWithMaster_out.pptx", SaveFormat.Pptx);
} finally {
destPres.dispose();
}
} finally {
srcPres.dispose();
}
Dia klónozása egy megadott szekció végén
Ha egy diát szeretne klónozni, és ugyanabban a bemutatófájlban, de egy másik szekcióban használni, akkor használja az addClone metódust, amelyet az ISlideCollection interfész biztosít. Az Aspose.Slides for Java lehetővé teszi, hogy egy diát az első szekcióból klónozzon, majd a klónozott diát a második szekcióba szúrja be ugyanabban a bemutatóban.
A következő kódrészlet megmutatja, hogyan lehet egy diát klónozni és a klónozott diát egy megadott szekcióba beszúrni.
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);
// Mentse a cél prezentációt a lemezre
presentation.save(dataDir + "CloneSlideIntoSpecifiedSection.pptx", SaveFormat.Pptx);
} finally {
if (presentation != null) presentation.dispose();
}
GYIK
Klónozódnak a beszélőjegyzetek és a felülvizsgálói megjegyzések?
Igen. A jegyzetoldal és a felülvizsgálati megjegyzések a klónba kerülnek. Ha nem kívánja őket, a beszúrás után távolítsa el őket.
Hogyan kezelik a diagramokat és azok adatforrásait?
A diagram objektuma, formázása és a beágyazott adatok másolásra kerülnek. Ha a diagram külső forráshoz (például OLE-beágyazott munkafüzethez) volt kapcsolva, ez a kapcsolat OLE objektumként megmarad. Fájlok között történő áthelyezés után ellenőrizze az adatok elérhetőségét és a frissítési viselkedést.
Szabályozhatom a klón beszúrási helyét és a szekciókat?
Igen. A klónt egy meghatározott dia indexre szúrhatja be, és egy kiválasztott szekcióba helyezheti. Ha a cél szekció nem létezik, először hozza létre, majd mozgassa a diát bele.