Робота з наборами сторінок
Робота з наборами сторінок
Цей посібник показує, як описати підмножину сторінок документа – довільний вибір індексів сторінок, а не один суцільний діапазон – використовуючи PageSet in Aspose.Words FOSS для .NET. PageSet є запечатаним класом у the Aspose.Words.Saving простір імен, який описує випадковий набір сторінок.
Створення 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() |