Framesets
Framesets
Esta guía muestra cómo leer la estructura heredada de páginas con marcos en Aspose.Words FOSS para .NET usando las clases Frameset y FramesetCollection, que representan una página de marcos y sus marcos hijos cuando la estructura de un documento modela un conjunto de marcos.
La clase Frameset
Frameset representa una página de marcos o un solo marco en una página de marcos. Document.Frameset devuelve el Frameset raíz para un documento que se cargó desde una estructura HTML con marcos. FrameDefaultUrl (string) es la URL de la página web o el nombre de archivo del documento que se muestra en ese marco. IsFrameLinkToFile (bool) indica si el valor FrameDefaultUrl es un recurso externo al que enlaza el marco. ChildFramesets devuelve un FramesetCollection de los marcos hijos y páginas de marcos anidadas bajo este.
Iterando marcos hijos con FramesetCollection
FramesetCollection implementa IEnumerable<Frameset>, por lo que GetEnumerator() admite la iteración foreach sobre los marcos que contiene. Count informa el número de marcos o páginas de marcos en la colección. Combine Count e iteración con ChildFramesets para recorrer recursivamente una estructura de página con marcos anidada — cada Frameset hijo puede contener a su vez más ChildFramesets.
Consejos y mejores prácticas
- Compruebe
Document.Framesetparanullantes de leer sus propiedades — la mayoría de los documentos no son páginas de marcos, por lo que esta propiedad solo se completa cuando la fuente HTML utilizó un diseño de marcos. - Recorra
ChildFramesetsde forma recursiva (en lugar de asumir una estructura plana de un solo nivel) ya que una página de marcos puede anidar más páginas de marcos dentro de sus marcos. - Utilice
IsFrameLinkToFilepara distinguir un marco que enlaza a un recurso externo de uno que incrusta el nombre de archivo del documento directamente enFrameDefaultUrl. FramesetCollection.Countes una forma económica de comprobar si unFramesettiene hijos antes de iterar.
Problemas comunes
| Problema | Causa | Solución |
|---|---|---|
Document.Frameset es null | El documento no se cargó desde una fuente HTML basada en frames | Confirme que el documento fuente realmente utilizó HTML frames antes de confiar en esta propiedad |
Iterar ChildFramesets omite los frames anidados | Solo se iteró el nivel superior | Recursar en cada hijo Frameset.ChildFramesets en lugar de iterar a un nivel de profundidad |
| No se puede determinar si un marco apunta a un archivo o a una URL | IsFrameLinkToFile no fue verificado | Lea IsFrameLinkToFile junto con FrameDefaultUrl para saber cómo resolver el destino |
FAQ
¿Qué es un Frameset en Aspose.Words FOSS para .NET?
Representa una página de marcos o un único marco en una página de marcos, expuesto como Document.Frameset para documentos cargados desde una fuente HTML basada en marcos.
¿Cómo listar todos los frames en un frameset?
Iterar Frameset.ChildFramesets (un FramesetCollection) con GetEnumerator() / foreach, recurriendo en cualquier hijo que a su vez tenga más ChildFramesets.
¿Cómo sé cuántos frames hijos tiene un Frameset?
Lea FramesetCollection.Count en su propiedad ChildFramesets.
¿Qué le dice IsFrameLinkToFile?
Si la página web o el nombre de archivo del documento en FrameDefaultUrl es un recurso externo al que el frame está enlazado.
API Reference Resumen
| Clase/Método | Descripción |
|---|---|
Document.Frameset | Raíz Frameset para un documento cargado desde una fuente HTML basada en marcos |
Frameset | Representa una página de marcos o un solo marco en una página de marcos |
Frameset.FrameDefaultUrl | URL de la página web o nombre de archivo del documento mostrado en el marco |
Frameset.IsFrameLinkToFile | Si FrameDefaultUrl es un recurso enlazado externo |
Frameset.ChildFramesets | FramesetCollection de los marcos secundarios y páginas de marcos |
FramesetCollection | Colección de instancias de Frameset; Count, GetEnumerator |