Praca z zestawami stron
Praca z zestawami stron
Ten przewodnik pokazuje, jak opisać podzbiór stron dokumentu — dowolny wybór indeksów stron, zamiast jednego spójnego zakresu — przy użyciu PageSet in Aspose.Words FOSS dla .NET. PageSet jest klasą zamkniętą w Aspose.Words.Saving przestrzeni nazw, która opisuje losowy zestaw stron.
Tworzenie PageSet
PageSet ma trzy konstruktory: PageSet(page) tworzy jednostroniczny zestaw z pojedynczego indeksu strony; PageSet(pages) tworzy zestaw z kolekcji dokładnych indeksów stron; oraz PageSet(ranges) tworzy zestaw z kolekcji zakresów stron. Wybierz konstruktor, który odpowiada temu, jak wybór stron jest wyrażony w Twoim scenariuszu — pojedyncza strona, rozproszona lista stron lub ciągłe przedziały.
Wbudowane zestawy: Wszystkie, Parzyste i Nieparzyste
Trzy statyczne właściwości dostarczają gotowe zestawy bez ręcznego ich budowania: PageSet.All zwraca zestaw zawierający każdą stronę dokumentu w jej pierwotnej kolejności, PageSet.Even zwraca zestaw zawierający tylko strony o numerach parzystych, a PageSet.Odd zwraca zestaw zawierający tylko strony o numerach nieparzystych.
Enumerowanie zestawu stron
PageSet implementuje IEnumerable<int>, więc każda instancja PageSet – niezależnie od tego, czy jest tworzona bezpośrednio, czy uzyskana z All, Even lub Odd – może być iterowana przy użyciu GetEnumerator() (lub pętli foreach), aby przejść po indeksach stron, które zawiera.
Wskazówki i najlepsze praktyki
- Użyj
PageSet.All,EvenlubOddw typowych przypadkach zamiast tworzyć wyraźną listę indeksów, chyba że wybór nie pasuje do żadnego z tych trzech wzorców. - Wybierz konstruktor
PageSet(pages)dla rozproszonego, nieciągłego wyboru stron orazPageSet(ranges), gdy wybór można naturalnie wyrazić jako jeden lub więcej ciągłych przedziałów. - Ponieważ
PageSetimplementujeIEnumerable<int>, może być używany wszędzie tam, gdzie oczekuje sięIEnumerable<int>indeksów stron, bez dodatkowego kroku konwersji.
Typowe problemy
| Problem | Przyczyna | Naprawa |
|---|---|---|
Obiekt PageSet zbudowany z PageSet.Even lub Odd wydaje się pusty przy wyliczaniu w krótkim dokumencie | Dokument ma mniej stron parzystych (lub nieparzystych) niż oczekiwano | Potwierdź rzeczywistą liczbę stron dokumentu przed poleganiem na Even/Odd |
| Nie masz pewności, którego konstruktora użyć dla mieszanki pojedynczych stron i zakresów | PageSet(pages) i PageSet(ranges) przyjmują jedynie jedną formę danych wejściowych | Utwórz osobne instancje PageSet dla indeksów i zakresów, lub znormalizuj wybór do jednego kształtu przed jego konstrukcją |
FAQ
Jak uzyskać PageSet zawierający wszystkie strony dokumentu?
Użyj statycznej właściwości PageSet.All.
Jak wybrać tylko parzyste lub nieparzyste strony?
Użyj PageSet.Even lub PageSet.Odd.
Jak zbudować PageSet z dowolnej listy numerów stron?
Użyj konstruktora PageSet(pages) z kolekcją dokładnych indeksów stron.
Czy mogę iterować po stronach, które zawiera PageSet?
Tak – PageSet implementuje IEnumerable<int>, więc GetEnumerator() lub pętla foreach przechodzi po indeksach stron, które opisuje.
API Reference Podsumowanie
| Klasa | Opis |
|---|---|
PageSet | Opisuje zestaw stron; konstruktory dla pojedynczej strony, dokładnych indeksów lub zakresów; All, Even, Odd, GetEnumerator() |