Travailler avec les ensembles de pages
Travailler avec des ensembles de pages
Ce guide montre comment décrire un sous-ensemble des pages d’un document – une sélection arbitraire d’indices de pages, plutôt qu’une seule plage contiguë – en utilisant PageSet in Aspose.Words FOSS pour .NET. PageSet est une classe scellée dans le Aspose.Words.Saving espace de noms qui décrit un ensemble aléatoire de pages.
Construire un PageSet
PageSet possède trois constructeurs: PageSet(page) crée un ensemble d’une page à partir d’un seul indice de page; PageSet(pages) crée un ensemble à partir d’une collection d’indices de pages exacts; et PageSet(ranges) crée un ensemble à partir d’une collection de plages de pages. Choisissez le constructeur qui correspond à la façon dont la sélection de pages est exprimée dans votre scénario — une page unique, une liste éparpillée de pages, ou des plages contiguës.
Ensembles intégrés: Tous, Pairs et Impairs
Trois propriétés statiques fournissent des ensembles prêts à l’emploi sans avoir à en construire un manuellement: PageSet.All renvoie un ensemble contenant chaque page du document dans son ordre d’origine, PageSet.Even renvoie un ensemble ne contenant que les pages numérotées pairs, et PageSet.Odd renvoie un ensemble ne contenant que les pages numérotées impairs.
Énumérer un ensemble de pages
PageSet implémente IEnumerable<int>, de sorte que toute instance de PageSet – qu’elle soit construite directement ou obtenue à partir de All, Even ou Odd – peut être itérée avec GetEnumerator() (ou une boucle foreach) pour parcourir les indices de page qu’elle contient.
Conseils et bonnes pratiques
- Utilisez
PageSet.All,EvenouOddpour les cas courants au lieu de construire une liste d’indices explicite, sauf si la sélection ne correspond à aucun de ces trois modèles. - Choisissez le constructeur
PageSet(pages)pour une sélection de pages dispersée et non contiguë, etPageSet(ranges)lorsque la sélection s’exprime naturellement sous forme d’un ou plusieurs intervalles contigus. - Parce que
PageSetimplémenteIEnumerable<int>, il peut être utilisé partout où unIEnumerable<int>d’indices de page est attendu, sans aucune étape de conversion supplémentaire.
Problèmes courants
| Problème | Cause | Correction |
|---|---|---|
Un PageSet construit à partir de PageSet.Even ou Odd apparaît vide lorsqu’il est énuméré sur un document court | Le document contient moins de pages paires (ou impaires) que prévu | Vérifiez le nombre réel de pages du document avant de vous fier à Even/Odd |
| Incertain du constructeur à utiliser pour un mélange de pages individuelles et de plages | PageSet(pages) et PageSet(ranges) n’acceptent chacun qu’une seule forme d’entrée | Créez des instances PageSet distinctes pour les indices et les plages, ou normalisez la sélection en une seule forme avant de la construire |
FAQ
Comment obtenir un PageSet contenant chaque page d’un document?
Utilisez la propriété statique PageSet.All.
Comment sélectionner uniquement les pages paires ou impaires?
Utilisez PageSet.Even ou PageSet.Odd.
Comment créer un PageSet à partir d’une liste arbitraire de numéros de pages?
Utilisez le constructeur PageSet(pages) avec une collection d’indices de pages exacts.
Puis-je parcourir les pages qu’un PageSet contient?
Oui – PageSet implémente IEnumerable<int>, donc GetEnumerator() ou une boucle foreach parcourt les indices de pages qu’il décrit.
API Reference Résumé
| Classe | Description |
|---|---|
PageSet | Décrit un ensemble de pages ; constructeurs pour une page unique, des indices précis ou des plages ; All, Even, Odd, GetEnumerator() |