Работа с наборами страниц

Работа с наборами страниц

Работа с наборами страниц

Это руководство показывает, как описать подмножество страниц документа — произвольный набор индексов страниц, а не один непрерывный диапазон — используя PageSet in Aspose.Words FOSS для .NET. PageSet является запечатанным классом в Aspose.Words.Saving namespace, описывающий случайный набор страниц.


Создание PageSet

PageSet имеет три конструктора: PageSet(page) создает набор из одной страницы по единственному индексу страницы; PageSet(pages) создает набор из коллекции точных индексов страниц; и PageSet(ranges) создает набор из коллекции диапазонов страниц. Выберите конструктор, соответствующий тому, как в вашем случае выражен выбор страниц — одна страница, разбросанный список страниц или сплошные диапазоны.


Встроенные наборы: All, Even и Odd

Три статических свойства предоставляют готовые наборы без ручного создания: PageSet.All возвращает набор, содержащий каждую страницу документа в исходном порядке, PageSet.Even возвращает набор, содержащий только чётные страницы, а PageSet.Odd возвращает набор, содержащий только нечётные страницы.


Перебор набора страниц

PageSet реализует IEnumerable<int>, поэтому любой экземпляр PageSet — будь то созданный напрямую или полученный из All, Even или Odd — можно перебрать с помощью GetEnumerator() (или цикла foreach), чтобы пройти по индексам страниц, которые он содержит.


Советы и лучшие практики

  • Используйте PageSet.All, Even или Odd в типичных случаях вместо создания явного списка индексов, если только выбранные элементы не соответствуют одному из этих трёх шаблонов.
  • Выберите конструктор PageSet(pages) для разрозненного, несмежного выбора страниц и PageSet(ranges), когда выбор естественно выражается одной или несколькими смежными диапазонами.
  • Поскольку PageSet реализует IEnumerable<int>, его можно использовать везде, где ожидается IEnumerable<int> индексов страниц, без какого-либо дополнительного шага преобразования.

Распространённые проблемы

ПроблемаПричинаИсправление
Объект PageSet, построенный из PageSet.Even или Odd, выглядит пустым при перечислении в коротком документеВ документе меньше чётных (или нечётных) страниц, чем ожидалосьПодтвердите фактическое количество страниц в документе, прежде чем полагаться на Even/Odd
Не уверены, какой конструктор использовать для смеси отдельных страниц и диапазоновPageSet(pages) и PageSet(ranges) каждый принимает только одну форму вводаСоздайте отдельные экземпляры PageSet для индексов и диапазонов, либо нормализуйте выбор до единой формы перед созданием

FAQ

Как получить PageSet, содержащий все страницы документа?

Используйте статическое свойство PageSet.All.

Как выбрать только чётные или нечётные страницы?

Используйте PageSet.Even или PageSet.Odd.

Как создать PageSet из произвольного списка номеров страниц?

Используйте конструктор PageSet(pages) с коллекцией точных индексов страниц.

Могу ли я перебирать страницы, содержащиеся в PageSet?

Да — PageSet реализует IEnumerable<int>, поэтому GetEnumerator() или цикл foreach проходит по индексам страниц, которые он описывает.


API Reference Сводка

КлассОписание:
PageSetОписывает набор страниц; конструкторы для одной страницы, точных индексов или диапазонов; All, Even, Odd, GetEnumerator()

См. также:

 Русский