Přístup k snímkům prezentace v Javě
Přehled
Tento článek vysvětluje, jak pomocí Aspose.Slides přistupovat k snímkům v prezentaci a spravovat je. Ukazuje, jak získat snímky podle jejich nulového indexu ze sbírky snímků a jak přistupovat ke snímku podle jeho jedinečného ID pomocí metody getSlideById.
Také se naučíte, jak změnit pozici snímku pomocí metody setSlideNumber a jak definovat počáteční číslo snímku v prezentaci pomocí metody setFirstSlideNumber. Příklady ukazují načtení prezentace, získání odkazů na snímky, aktualizaci pořadí nebo číslování snímků a uložení upravené prezentace.
Přístup ke snímku podle indexu
Všechny snímky v prezentaci jsou uspořádány číselně podle pozice snímku počínaje 0. První snímek je přístupný pomocí indexu 0; druhý snímek je přístupný pomocí indexu 1; atd.
Třída Presentation, která představuje soubor prezentace, poskytuje všechny snímky jako sbírku ISlideCollection (sbírku objektů ISlide). Tento Java kód ukazuje, jak přistupovat ke snímku pomocí jeho indexu:
// Vytvoří objekt Presentation, který představuje soubor prezentace
Presentation pres = new Presentation("demo.pptx");
try {
// Přistupuje k snímku pomocí jeho indexu
ISlide slide = pres.getSlides().get_Item(0);
} finally {
pres.dispose();
}
Přístup ke snímku podle ID
Každý snímek v prezentaci má přiřazeno jedinečné ID. Můžete použít metodu getSlideById (poskytnutou třídou Presentation) k cílení na toto ID. Tento Java kód ukazuje, jak zadat platné ID snímku a přistoupit k tomuto snímku pomocí metody getSlideById:
// Vytvoří objekt Presentation, který představuje soubor prezentace
Presentation pres = new Presentation("demo.pptx");
try {
// Získá ID snímku
int id = (int) pres.getSlides().get_Item(0).getSlideId();
// Přistupuje k snímku pomocí jeho ID
IBaseSlide slide = pres.getSlideById(id);
} finally {
pres.dispose();
}
Změna pozice snímku
Aspose.Slides vám umožňuje změnit pozici snímku. Například můžete určit, že první snímek se má stát druhým snímkem.
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek (jejíž pozici chcete změnit) pomocí jeho indexu
- Nastavte novou pozici snímku pomocí vlastnosti setSlideNumber.
- Uložte upravenou prezentaci.
Tento Java kód demonstruje operaci, při které je snímek na pozici 1 přesunut na pozici 2:
// Vytvoří objekt Presentation, který představuje soubor prezentace
Presentation pres = new Presentation("Presentation.pptx");
try {
// Získá snímek, jehož pozice bude změněna
ISlide sld = pres.getSlides().get_Item(0);
// Nastaví novou pozici pro snímek
sld.setSlideNumber(2);
// Uloží upravenou prezentaci
pres.save("helloworld_Pos.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
První snímek se stal druhým; druhý snímek se stal prvním. Když změníte pozici snímku, ostatní snímky jsou automaticky upraveny.
Nastavení čísla snímku
Pomocí vlastnosti setFirstSlideNumber (poskytnuté třídou Presentation) můžete určit nové číslo pro první snímek v prezentaci. Tato operace způsobí přepočet čísel ostatních snímků.
- Vytvořte instanci třídy Presentation.
- Získejte číslo snímku.
- Nastavte číslo snímku.
- Uložte upravenou prezentaci.
Tento Java kód demonstruje operaci, při které je první číslo snímku nastaveno na 10:
// Vytvoří objekt Presentation, který představuje soubor prezentace
Presentation pres = new Presentation("HelloWorld.pptx");
try {
// Získá číslo prvního snímku
int firstSlideNumber = pres.getFirstSlideNumber();
// Nastaví číslo snímku
pres.setFirstSlideNumber(10);
// Uloží upravenou prezentaci
pres.save("Set_Slide_Number_out.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
Pokud chcete vynechat první snímek, můžete číslování zahájit od druhého snímku (a skrýt číslování pro první snímek) takto:
Presentation presentation = new Presentation();
try {
ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank);
presentation.getSlides().addEmptySlide(layoutSlide);
presentation.getSlides().addEmptySlide(layoutSlide);
presentation.getSlides().addEmptySlide(layoutSlide);
// Nastaví číslo pro první snímek prezentace
presentation.setFirstSlideNumber(0);
// Zobrazí čísla snímků pro všechny snímky
presentation.getHeaderFooterManager().setAllSlideNumbersVisibility(true);
// Skryje číslo snímku u prvního snímku
presentation.getSlides().get_Item(0).getHeaderFooterManager().setSlideNumberVisibility(false);
// Uloží upravenou prezentaci
presentation.save("output.pptx", SaveFormat.Pptx);
} finally {
if (presentation != null) presentation.dispose();
}
Často kladené otázky
Odpovídá číslo snímku, které uživatel vidí, nulovému indexu ve sbírce?
Číslo zobrazené na snímku může začínat libovolnou hodnotou (např. 10) a nemusí odpovídat indexu; vztah je řízen nastavením first slide number prezentace.
Ovlivňují skryté snímky indexování?
Ano. Skrytý snímek zůstává ve sbírce a je započítán do indexování; „skrytý“ se vztahuje k zobrazování, ne k jeho pozici ve sbírce.
Mění se index snímku, když jsou přidány nebo odebrány jiné snímky?
Ano. Indexy vždy odrážejí aktuální pořadí snímků a jsou přepočítány při vložení, odstranění a přesunu.