Arbeiten mit Page Sets
Arbeiten mit Seitensätzen
Dieser Leitfaden zeigt, wie man eine Teilmenge der Seiten eines Dokuments beschreibt – eine beliebige Auswahl von Seitenindizes, anstatt eines einzelnen zusammenhängenden Bereichs – unter Verwendung PageSet in Aspose.Words FOSS für .NET. PageSet ist eine versiegelte Klasse im Aspose.Words.Saving Namespace, das eine zufällige Menge von Seiten beschreibt.
Erstellen eines PageSet
PageSet hat drei Konstruktoren: PageSet(page) erstellt ein Einzelseitenset aus einem einzelnen Seitenindex; PageSet(pages) erstellt ein Set aus einer Sammlung genauer Seitenindizes; und PageSet(ranges) erstellt ein Set aus einer Sammlung von Seitenbereichen. Wählen Sie den Konstruktor, der der Art und Weise entspricht, wie die Seitenauswahl in Ihrem Szenario ausgedrückt wird – eine einzelne Seite, eine verstreute Liste von Seiten oder zusammenhängende Abschnitte.
Vordefinierte Sets: Alle, Gerade und Ungerade
Drei statische Eigenschaften stellen gebrauchsfertige Sets bereit, ohne dass man eines manuell konstruieren muss: PageSet.All liefert ein Set mit jeder Seite des Dokuments in ihrer ursprünglichen Reihenfolge, PageSet.Even liefert ein Set, das nur die geraden Seiten enthält, und PageSet.Odd liefert ein Set, das nur die ungeraden Seiten enthält.
Enumerieren eines Seitensets
PageSet implementiert IEnumerable<int>, sodass jede PageSet-Instanz – ob direkt konstruiert oder erhalten von All, Even oder Odd – mit GetEnumerator() (oder einer foreach-Schleife) iteriert werden kann, um die enthaltenen Seitenindizes zu durchlaufen.
Tipps und bewährte Verfahren
- Verwenden Sie
PageSet.All,EvenoderOddfür die üblichen Fälle, anstatt eine explizite Indexliste zu erstellen, es sei denn, die Auswahl passt nicht zu einem dieser drei Muster. - Wählen Sie den
PageSet(pages)-Konstruktor für eine verstreute, nicht zusammenhängende Seitenauswahl undPageSet(ranges), wenn die Auswahl natürlich als ein oder mehrere zusammenhängende Bereiche ausgedrückt wird. - Da
PageSetIEnumerable<int>implementiert, kann es überall dort verwendet werden, wo einIEnumerable<int>von Seitenindizes erwartet wird, ohne einen zusätzlichen Konvertierungsschritt.
Häufige Probleme
| Problem | Ursache | Lösung |
|---|---|---|
Ein PageSet, das aus PageSet.Even oder Odd gebaut wurde, erscheint leer, wenn es in einem kurzen Dokument aufgezählt wird. | Das Dokument hat weniger gerade (oder ungerade) Seiten als erwartet | Bestätigen Sie die tatsächliche Seitenzahl des Dokuments, bevor Sie sich auf Even/Odd verlassen |
| Unsicher, welchen Konstruktor man für eine Mischung aus einzelnen Seiten und Bereichen verwenden soll | PageSet(pages) und PageSet(ranges) akzeptieren jeweils nur eine Eingabeform | Erstellen Sie separate PageSet-Instanzen für die Indizes und die Bereiche oder normalisieren Sie die Auswahl zu einer einzigen Form, bevor Sie sie konstruieren |
FAQ
Wie erhalte ich ein PageSet, das jede Seite eines Dokuments enthält?
Verwenden Sie die statische PageSet.All-Eigenschaft.
Wie wähle ich nur gerade oder ungerade Seiten aus?
Verwenden Sie PageSet.Even oder PageSet.Odd.
Wie erstelle ich ein PageSet aus einer beliebigen Liste von Seitenzahlen?
Verwenden Sie den PageSet(pages)-Konstruktor mit einer Sammlung exakter Seitenindizes.
Kann ich über die Seiten iterieren, die ein PageSet enthält?
Ja – PageSet implementiert IEnumerable<int>, sodass GetEnumerator() oder eine foreach-Schleife die beschriebenen Seitenindizes durchläuft.
API Reference Zusammenfassung
| Klasse | Beschreibung |
|---|---|
PageSet | Beschreibt eine Menge von Seiten; Konstruktoren für eine einzelne Seite, genaue Indizes oder Bereiche; All, Even, Odd, GetEnumerator() |