Arbeta med Page Sets
Arbeta med siduppsättningar
Denna guide visar hur man beskriver en delmängd av ett dokuments sidor – ett godtyckligt urval av sidindex, snarare än ett enda sammanhängande intervall – med hjälp av PageSet in Aspose.Words FOSS för .NET. PageSet är en sealed class i den Aspose.Words.Saving namnrymd som beskriver en slumpmässig uppsättning sidor.
Skapa en PageSet
PageSet har tre konstruktorer: PageSet(page) bygger en en-sidssats från ett enda sidindex; PageSet(pages) bygger en sats från en samling av exakta sidindex; och PageSet(ranges) bygger en sats från en samling av sidintervall. Välj den konstruktor som matchar hur sidvalet uttrycks i ditt scenario – en enda sida, en spridd lista av sidor, eller sammanhängande intervall.
Inbyggda uppsättningar: Alla, Jämna och Udda
Tre statiska egenskaper tillhandahåller färdiga uppsättningar utan att du behöver konstruera en manuellt: PageSet.All returnerar en uppsättning med varje sida i dokumentet i dess ursprungliga ordning, PageSet.Even returnerar en uppsättning med endast de jämna sidnumren, och PageSet.Odd returnerar en uppsättning med endast de udda sidnumren.
Enumerera en siduppsättning
PageSet implementerar IEnumerable<int>, så varje PageSet-instans – oavsett om den konstrueras direkt eller erhålls från All, Even eller Odd – kan itereras med GetEnumerator() (eller en foreach-loop) för att gå igenom sidindexen den innehåller.
Tips och bästa praxis
- Använd
PageSet.All,EvenellerOddför de vanliga fallen istället för att konstruera en explicit indexlista, såvida inte urvalet matchar något av de tre mönstren. - Välj
PageSet(pages)-konstruktorn för ett spritt, icke-sammanhängande sidurval, ochPageSet(ranges)när urvalet naturligt uttrycks som ett eller flera sammanhängande intervall. - Eftersom
PageSetimplementerarIEnumerable<int>kan den konsumeras var som helst där enIEnumerable<int>av sidindex förväntas, utan något extra konverteringssteg.
Vanliga problem
| Problem | Orsak | Lösning |
|---|---|---|
En PageSet byggd från PageSet.Even eller Odd verkar tom när den enumereras i ett kort dokument | Dokumentet har färre jämna (eller udda) sidor än förväntat | Bekräfta dokumentets faktiska sidantal innan du förlitar dig på Even/Odd |
| Osäker på vilken konstruktor som ska användas för en blandning av enskilda sidor och intervall | PageSet(pages) och PageSet(ranges) accepterar vardera bara en typ av indata | Skapa separata PageSet-instanser för indexen och intervallen, eller normalisera urvalet till en enda typ innan du konstruerar det |
FAQ
Hur får jag en PageSet som innehåller varje sida i ett dokument?
Använd den statiska PageSet.All-egenskapen.
Hur väljer jag bara jämna eller udda sidor?
Använd PageSet.Even eller PageSet.Odd.
Hur bygger jag ett PageSet från en godtycklig lista med sidnummer?
Använd PageSet(pages)-konstruktorn med en samling av exakta sidindex.
Kan jag iterera över de sidor som en PageSet innehåller?
Ja – PageSet implementerar IEnumerable<int>, så GetEnumerator() eller en foreach-loop går igenom de sidindex den beskriver.
API Reference Sammanfattning
| Klass | Beskrivning |
|---|---|
PageSet | Beskriver en uppsättning sidor; konstruktorer för en enskild sida, exakta index eller intervall; All, Even, Odd, GetEnumerator() |