Trabalhando com Conjuntos de Páginas
Trabalhando com Conjuntos de Páginas
Este guia mostra como descrever um subconjunto das páginas de um documento — uma seleção arbitrária de índices de página, em vez de um único intervalo contíguo — usando PageSet in Aspose.Words FOSS for .NET. PageSet é uma classe selada no Aspose.Words.Saving namespace que descreve um conjunto aleatório de páginas.
Construindo um PageSet
PageSet tem três construtores: PageSet(page) cria um conjunto de uma página a partir de um único índice de página; PageSet(pages) cria um conjunto a partir de uma coleção de índices de página exatos; e PageSet(ranges) cria um conjunto a partir de uma coleção de intervalos de página. Escolha o construtor que corresponde à forma como a seleção de páginas é expressa em seu cenário – uma única página, uma lista dispersa de páginas ou intervalos contíguos.
Conjuntos Integrados: Todos, Pares e Ímpares
Três propriedades estáticas fornecem conjuntos prontos sem a necessidade de construí-los manualmente: PageSet.All retorna um conjunto com todas as páginas do documento em sua ordem original, PageSet.Even retorna um conjunto contendo apenas as páginas numeradas pares, e PageSet.Odd retorna um conjunto contendo apenas as páginas numeradas ímpares.
Enumerando um Conjunto de Páginas
PageSet implementa IEnumerable<int>, portanto qualquer instância de PageSet – seja construída diretamente ou obtida de All, Even ou Odd – pode ser iterada com GetEnumerator() (ou um loop foreach) para percorrer os índices de página que contém.
Dicas e Melhores Práticas
- Use
PageSet.All,EvenouOddpara os casos comuns em vez de construir uma lista de índices explícita, a menos que a seleção não corresponda a um desses três padrões. - Escolha o construtor
PageSet(pages)para uma seleção de páginas dispersa e não contígua, ePageSet(ranges)quando a seleção for naturalmente expressa como um ou mais intervalos contíguos. - Como
PageSetimplementaIEnumerable<int>, ele pode ser consumido em qualquer lugar onde se espera umIEnumerable<int>de índices de página, sem nenhuma etapa extra de conversão.
Problemas Comuns
| Problema | Causa | Correção |
|---|---|---|
Um PageSet construído a partir de PageSet.Even ou Odd parece vazio quando enumerado em um documento curto | O documento tem menos páginas pares (ou ímpares) do que o esperado | Confirme a contagem real de páginas do documento antes de confiar em Even/Odd |
| Não tem certeza de qual construtor usar para uma combinação de páginas individuais e intervalos | PageSet(pages) e PageSet(ranges) aceitam apenas um formato de entrada cada | Crie instâncias PageSet separadas para os índices e os intervalos, ou normalize a seleção para um único formato antes de construí-la |
FAQ
Como obtenho um PageSet contendo todas as páginas de um documento?
Use a propriedade estática PageSet.All property.
Como seleciono apenas páginas pares ou ímpares?
Use PageSet.Even ou PageSet.Odd.
Como construo um PageSet a partir de uma lista arbitrária de números de página?
Use o construtor PageSet(pages) com uma coleção de índices de página exatos.
Posso iterar sobre as páginas que um PageSet contém?
Sim – PageSet implementa IEnumerable<int>, então GetEnumerator() ou um loop foreach percorre os índices de página que ele descreve.
API Reference Resumo
| Classe | Descrição |
|---|---|
PageSet | Descreve um conjunto de páginas; construtores para uma única página, índices exatos ou intervalos; All, Even, Odd, GetEnumerator() |