Toegang tot presentatiedia's in Java
Overzicht
Dit artikel legt uit hoe u dia’s in een presentatie kunt benaderen en beheren met Aspose.Slides. Het laat zien hoe u dia’s kunt ophalen via hun nulgebaseerde index uit de diacollectie en hoe u een dia kunt benaderen via de unieke ID met behulp van de getSlideById‑methode.
U leert ook hoe u de positie van een dia kunt wijzigen met de setSlideNumber‑methode en hoe u het beginnende diapositienummer voor een presentatie kunt definiëren met de setFirstSlideNumber‑methode. De voorbeelden tonen het laden van een presentatie, het verkrijgen van diasreferenties, het bijwerken van de volgorde of nummering van dia’s, en het opslaan van de gewijzigde presentatie.
Dia benaderen op index
Alle dia’s in een presentatie worden numeriek gerangschikt op basis van de positie, beginnend bij 0. De eerste dia is bereikbaar via index 0; de tweede dia via index 1; enz.
De klasse Presentation, die een presentatiebestand vertegenwoordigt, stelt alle dia’s beschikbaar als een ISlideCollection collectie van ISlide‑objecten. Deze Java‑code toont hoe u een dia via zijn index kunt benaderen:
// Instantieert een Presentation object dat een presentatiebestand vertegenwoordigt
Presentation pres = new Presentation("demo.pptx");
try {
// Benadert een dia via zijn dia-index
ISlide slide = pres.getSlides().get_Item(0);
} finally {
pres.dispose();
}
Dia benaderen via ID
Elke dia in een presentatie heeft een unieke ID. U kunt de getSlideById‑methode (beschikbaar via de Presentation‑klasse) gebruiken om die ID te benaderen. Deze Java‑code laat zien hoe u een geldige dia‑ID opgeeft en die dia via de getSlideById‑methode benadert:
// Instantieert een Presentation object dat een presentatiebestand vertegenwoordigt
Presentation pres = new Presentation("demo.pptx");
try {
// Haalt een dia-ID op
int id = (int) pres.getSlides().get_Item(0).getSlideId();
// Benadert de dia via zijn ID
IBaseSlide slide = pres.getSlideById(id);
} finally {
pres.dispose();
}
Dia‑positie wijzigen
Aspose.Slides stelt u in staat om de positie van een dia te wijzigen. Bijvoorbeeld, u kunt opgeven dat de eerste dia de tweede dia moet worden.
- Maak een instantie van de Presentation‑klasse aan.
- Haal de referentie van de dia (waarvan u de positie wilt wijzigen) op via zijn index
- Stel een nieuwe positie voor de dia in via de setSlideNumber‑eigenschap.
- Sla de gewijzigde presentatie op.
Deze Java‑code demonstreert een bewerking waarbij de dia op positie 1 wordt verplaatst naar positie 2:
// Instantieert een Presentation object dat een presentatiebestand vertegenwoordigt
Presentation pres = new Presentation("Presentation.pptx");
try {
// Haalt de dia op waarvan de positie wordt gewijzigd
ISlide sld = pres.getSlides().get_Item(0);
// Stelt de nieuwe positie voor de dia in
sld.setSlideNumber(2);
// Slaat de gewijzigde presentatie op
pres.save("helloworld_Pos.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
De eerste dia werd de tweede; de tweede dia werd de eerste. Wanneer u de positie van een dia wijzigt, worden de andere dia’s automatisch aangepast.
Dia‑nummer instellen
Met behulp van de setFirstSlideNumber‑eigenschap (beschikbaar via de Presentation‑klasse) kunt u een nieuw nummer toewijzen aan de eerste dia in een presentatie. Deze bewerking zorgt ervoor dat de andere dia‑nummers opnieuw worden berekend.
- Maak een instantie van de Presentation‑klasse aan.
- Haal het dia‑nummer op.
- Stel het dia‑nummer in.
- Sla de gewijzigde presentatie op.
Deze Java‑code demonstreert een bewerking waarbij het eerste dia‑nummer op 10 wordt gezet:
// Instantieert een Presentation object dat een presentatiebestand vertegenwoordigt
Presentation pres = new Presentation("HelloWorld.pptx");
try {
// Haalt het dia-nummer op
int firstSlideNumber = pres.getFirstSlideNumber();
// Stelt het dia-nummer in
pres.setFirstSlideNumber(10);
// Slaat de gewijzigde presentatie op
pres.save("Set_Slide_Number_out.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
Als u de eerste dia wilt overslaan, kunt u de nummering vanaf de tweede dia starten (en de nummering voor de eerste dia verbergen) op deze manier:
Presentation presentation = new Presentation();
try {
ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank);
presentation.getSlides().addEmptySlide(layoutSlide);
presentation.getSlides().addEmptySlide(layoutSlide);
presentation.getSlides().addEmptySlide(layoutSlide);
// Stelt het nummer in voor de eerste dia van de presentatie
presentation.setFirstSlideNumber(0);
// Toont dianummers voor alle dia's
presentation.getHeaderFooterManager().setAllSlideNumbersVisibility(true);
// Verbergt het dianummer voor de eerste dia
presentation.getSlides().get_Item(0).getHeaderFooterManager().setSlideNumberVisibility(false);
// Slaat de gewijzigde presentatie op
presentation.save("output.pptx", SaveFormat.Pptx);
} finally {
if (presentation != null) presentation.dispose();
}
FAQ
Komt het door de gebruiker zichtbare dia‑nummer overeen met de nulgebaseerde index van de collectie?
Het op een dia getoonde nummer kan starten vanaf een willekeurige waarde (bijv. 10) en hoeft niet overeen te komen met de index; de relatie wordt bepaald door de instelling van de first slide number.
Hebben verborgen dia’s invloed op de indexering?
Ja. Een verborgen dia blijft behouden in de collectie en wordt meegeteld bij de indexering; “verborgen” heeft betrekking op de weergave, niet op de positie in de collectie.
Verandert de index van een dia wanneer andere dia’s worden toegevoegd of verwijderd?
Ja. Indexen geven altijd de actuele volgorde van de dia’s weer en worden herberekend bij invoegen, verwijderen en verplaatsen.