Lavorare con i Set di pagine
Lavorare con i set di pagine
Questa guida mostra come descrivere un sottoinsieme delle pagine di un documento – una selezione arbitraria di indici di pagina, piuttosto che un unico intervallo continuo – usando PageSet in Aspose.Words FOSS per .NET. PageSet è una classe sealed nel Aspose.Words.Saving namespace che descrive un insieme casuale di pagine.
Costruire un PageSet
PageSet ha tre costruttori: PageSet(page) crea un set di una sola pagina a partire da un singolo indice di pagina; PageSet(pages) crea un set a partire da una raccolta di indici di pagina esatti; e PageSet(ranges) crea un set a partire da una raccolta di intervalli di pagina. Scegli il costruttore che corrisponde al modo in cui la selezione delle pagine è espressa nel tuo caso d’uso – una singola pagina, un elenco sparso di pagine o intervalli contigui.
Set incorporati: Tutti, Pari e Dispari
Tre proprietà statiche forniscono set pronti all’uso senza doverne costruire uno manualmente: PageSet.All restituisce un set con tutte le pagine del documento nel loro ordine originale, PageSet.Even restituisce un set contenente solo le pagine numerate pari, e PageSet.Odd restituisce un set contenente solo le pagine numerate dispari.
Enumerare un set di pagine
PageSet implementa IEnumerable<int>, quindi qualsiasi istanza di PageSet – sia costruita direttamente sia ottenuta da All, Even o Odd – può essere iterata con GetEnumerator() (o un ciclo foreach) per percorrere gli indici di pagina che contiene.
Suggerimenti e migliori pratiche
- Utilizza
PageSet.All,EvenoOddper i casi comuni invece di costruire un elenco di indici esplicito, a meno che la selezione non corrisponda a uno di questi tre modelli. - Scegli il costruttore
PageSet(pages)per una selezione di pagine sparsa e non contigua, ePageSet(ranges)quando la selezione è naturalmente espressa come uno o più intervalli contigui. - Poiché
PageSetimplementaIEnumerable<int>, può essere utilizzato ovunque ci si aspetti unIEnumerable<int>di indici di pagina, senza alcun passaggio di conversione aggiuntivo.
Problemi comuni
| Problema | Cause | Correzione |
|---|---|---|
Un PageSet costruito da PageSet.Even o Odd appare vuoto quando enumerato su un documento breve | Il documento ha meno pagine pari (o dispari) del previsto | Conferma il conteggio reale delle pagine del documento prima di fare affidamento su Even/Odd |
| Non sei sicuro di quale costruttore utilizzare per una combinazione di pagine singole e intervalli | PageSet(pages) e PageSet(ranges) accettano ciascuno solo un tipo di input | Crea istanze separate di PageSet per gli indici e gli intervalli, oppure normalizza la selezione a un unico tipo prima di costruirla |
FAQ
Come posso ottenere un PageSet contenente tutte le pagine di un documento?
Usa la proprietà statica PageSet.All.
Come posso selezionare solo le pagine pari o dispari?
Usa PageSet.Even o PageSet.Odd.
Come posso creare un PageSet da un elenco arbitrario di numeri di pagina?
Usa il costruttore PageSet(pages) con una collezione di indici di pagina esatti.
Posso iterare sulle pagine che contiene un PageSet?
Sì – PageSet implementa IEnumerable<int>, quindi GetEnumerator() o un ciclo foreach percorre gli indici di pagina che descrive.
API Reference Sommario
| Classe | Descrizione |
|---|---|
PageSet | Descrive un insieme di pagine; costruttori per una singola pagina, indici esatti o intervalli; All, Even, Odd, GetEnumerator() |