Toegang tot presentatiedia's in .NET
Overzicht
Dit artikel legt uit hoe u dia’s in een presentatie kunt openen en beheren met Aspose.Slides. Het toont hoe u dia’s kunt ophalen op basis van hun nulgebaseerde index uit de Slides-collectie en hoe u een dia kunt openen via de unieke ID met de GetSlideById-methode.
U leert ook hoe u de positie van een dia kunt wijzigen door de SlideNumber-eigenschap in te stellen en hoe u het startdia-nummer voor een presentatie kunt definiëren met de FirstSlideNumber-eigenschap. De voorbeelden laten zien hoe een presentatie te laden, dia-referenties op te halen, de volgorde of nummering van dia’s bij te werken en de gewijzigde presentatie op te slaan.
Een dia openen op index
Alle dia’s in een presentatie worden numeriek gerangschikt op basis van de dia‑positie, beginnend bij 0. De eerste dia is toegankelijk via index 0; de tweede dia via index 1; enzovoort.
De klasse Presentation, die een presentatiebestand vertegenwoordigt, stelt alle dia’s beschikbaar als een ISlideCollection-collectie (een collectie van ISlide-objecten). Deze C#‑code laat zien hoe u een dia via de index kunt benaderen:
// Instantieert een Presentation-object dat een presentatiebestand vertegenwoordigt
Presentation presentation = new Presentation("AccessSlides.pptx");
// Haalt een dia-referentie op via de index
ISlide slide = presentation.Slides[0];
Een dia openen op 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 C#‑code laat zien hoe u een geldige dia‑ID opgeeft en die dia via de GetSlideById-methode kunt openen:
// Instantieert een Presentation-object dat een presentatiebestand vertegenwoordigt
Presentation presentation = new Presentation("AccessSlides.pptx");
// Haalt een dia-ID op
uint id = presentation.Slides[0].SlideId;
// Benadert de dia via zijn ID
IBaseSlide slide = presentation.GetSlideById(id);
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.
- Haal de referentie van de dia (wiens positie u wilt wijzigen) op via de index
- Stel een nieuwe positie in voor de dia via de SlideNumber-eigenschap.
- Sla de gewijzigde presentatie op.
Deze C#‑code demonstreert een bewerking waarbij de dia op positie 1 wordt verplaatst naar positie 2:
// Instantieert een Presentation-object dat een presentatiebestand vertegenwoordigt
using (Presentation pres = new Presentation("ChangePosition.pptx"))
{
// Haalt de dia op waarvan de positie zal worden gewijzigd
ISlide sld = pres.Slides[0];
// Stelt de nieuwe positie voor de dia in
sld.SlideNumber = 2;
// Slaat de gewijzigde presentatie op
pres.Save("Aspose_out.pptx", SaveFormat.Pptx);
}
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 FirstSlideNumber-eigenschap (beschikbaar via de Presentation-klasse) kunt u een nieuw nummer opgeven voor de eerste dia in een presentatie. Deze bewerking zorgt ervoor dat de nummers van de overige dia’s opnieuw worden berekend.
- Maak een instantie van de Presentation-klasse.
- Haal het dia‑nummer op.
- Stel het dia‑nummer in.
- Sla de gewijzigde presentatie op.
Deze C#‑code demonstreert een bewerking waarbij het eerste dia‑nummer wordt ingesteld op 10:
// Instantieert een Presentation-object dat een presentatiebestand vertegenwoordigt
using (Presentation presentation = new Presentation("HelloWorld.pptx"))
{
// Haalt het dia-nummer op
int firstSlideNumber = presentation.FirstSlideNumber;
// Stelt het dia-nummer in
presentation.FirstSlideNumber=10;
// Slaat de gewijzigde presentatie op
presentation.Save("Set_Slide_Number_out.pptx", SaveFormat.Pptx);
}
Als u de eerste dia wilt overslaan, kunt u de nummering starten vanaf de tweede dia (en de nummering voor de eerste dia verbergen) op deze manier:
using (var presentation = new Presentation())
{
var layoutSlide = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank);
presentation.Slides.AddEmptySlide(layoutSlide);
presentation.Slides.AddEmptySlide(layoutSlide);
presentation.Slides.AddEmptySlide(layoutSlide);
// Stelt het nummer in voor de eerste presentatiedia
presentation.FirstSlideNumber = 0;
// Toont diannummers voor alle dia's
presentation.HeaderFooterManager.SetAllSlideNumbersVisibility(true);
// Verbergt het diannummer voor de eerste dia
presentation.Slides[0].HeaderFooterManager.SetSlideNumberVisibility(false);
// Slaat de gewijzigde presentatie op
presentation.Save("output.pptx", SaveFormat.Pptx);
}
FAQ
Komt het dia‑nummer dat een gebruiker ziet overeen met de nulgebaseerde index van de collectie?
Het nummer dat op een dia wordt weergegeven kan beginnen bij een willekeurige waarde (bijv. 10) en hoeft niet overeen te komen met de index; de relatie wordt geregeld door de first slide number-instelling van de presentatie.
Hebben verborgen dia’s invloed op de indexering?
Ja. Een verborgen dia blijft in de collectie en wordt meegeteld bij het indexeren; “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 weerspiegelen altijd de huidige volgorde van de dia’s en worden opnieuw berekend bij invoegen, verwijderen en verplaatsen.