Framesets
Framesets
Ce guide montre comment lire la structure de pages à cadres héritée dans Aspose.Words FOSS pour .NET en utilisant les classes Frameset et FramesetCollection, qui représentent une page à cadres et ses cadres enfants lorsqu’une structure de document modélise un ensemble de cadres.
La classe Frameset
Frameset représente une page à cadres ou un cadre unique sur une page à cadres. Document.Frameset renvoie la racine Frameset pour un document qui a été chargé à partir d’une structure HTML à cadres. FrameDefaultUrl (string) est l’URL de la page Web ou le nom de fichier du document affiché dans ce cadre. IsFrameLinkToFile (bool) indique si la valeur FrameDefaultUrl est une ressource externe vers laquelle le cadre pointe. ChildFramesets renvoie un FramesetCollection des cadres enfants et des pages à cadres imbriquées sous celui-ci.
Itération des cadres enfants avec FramesetCollection
FramesetCollection implémente IEnumerable<Frameset>, donc GetEnumerator() prend en charge l’itération foreach sur les cadres qu’il contient. Count indique le nombre de cadres ou de pages à cadres dans la collection. Combinez Count et l’itération avec ChildFramesets pour parcourir récursivement une structure de pages à cadres imbriquée — chaque Frameset enfant peut lui-même contenir d’autres ChildFramesets.
Conseils et meilleures pratiques
- Vérifiez
Document.Framesetpournullavant de lire ses propriétés — la plupart des documents ne sont pas des pages de cadres, donc cette propriété n’est remplie que lorsque la source HTML a utilisé une mise en page de cadres. - Parcourez
ChildFramesetsde manière récursive (plutôt que de supposer une structure plate à un seul niveau) car une page de cadres peut imbriquer d’autres pages de cadres à l’intérieur de ses cadres. - Utilisez
IsFrameLinkToFilepour distinguer un cadre qui pointe vers une ressource externe d’un cadre qui intègre directement le nom de fichier d’un document dansFrameDefaultUrl. FramesetCollection.Countest une méthode simple pour vérifier si unFramesetpossède des enfants avant d’itérer.
Problèmes courants
| Problème | Cause | Correction |
|---|---|---|
Document.Frameset est null | Le document n’a pas été chargé à partir d’une source HTML basée sur des cadres | Confirmez que le document source a réellement utilisé des cadres HTML avant de vous fier à cette propriété |
Itérer ChildFramesets ne prend pas en compte les cadres imbriqués | Seul le niveau supérieur a été itéré | Récursivement parcourir chaque enfant Frameset.ChildFramesets plutôt que d’itérer à un niveau de profondeur |
| Impossible de déterminer si un cadre pointe vers un fichier ou une URL | IsFrameLinkToFile n’a pas été vérifié | Lire IsFrameLinkToFile conjointement avec FrameDefaultUrl pour savoir comment résoudre la cible |
FAQ
Qu’est-ce qu’un Frameset dans Aspose.Words FOSS pour .NET?
Il représente une page de cadres ou un seul cadre sur une page de cadres, exposé en tant que Document.Frameset pour les documents chargés depuis une source HTML basée sur des cadres.
Comment lister toutes les frames d’un frameset?
Itérer Frameset.ChildFramesets (un FramesetCollection) avec GetEnumerator() / foreach, en récursant dans tout enfant qui possède lui-même d’autres ChildFramesets.
Comment savoir combien de frames enfants possède un Frameset?
Lire FramesetCollection.Count sur sa propriété ChildFramesets.
Que vous indique IsFrameLinkToFile?
Si la page web ou le nom de fichier du document dans FrameDefaultUrl est une ressource externe à laquelle la frame est liée.
API Reference Résumé
| Classe/Méthode | Description |
|---|---|
Document.Frameset | Racine Frameset pour un document chargé à partir d’une source HTML basée sur des cadres |
Frameset | Représente une page de cadres ou un seul cadre sur une page de cadres |
Frameset.FrameDefaultUrl | URL de la page Web ou nom de fichier du document affiché dans le cadre |
Frameset.IsFrameLinkToFile | Indique si FrameDefaultUrl est une ressource liée externe |
Frameset.ChildFramesets | FramesetCollection des cadres enfants et des pages de cadres |
FramesetCollection | Collection d’instances de Frameset ; Count, GetEnumerator |