Framesets

Framesets

Este guia mostra como ler a estrutura legada de páginas com frames em Aspose.Words FOSS para .NET usando as classes Frameset e FramesetCollection, que representam uma página de frames e seus frames filhos quando a estrutura de um documento modela um conjunto de frames.


A Classe Frameset

Frameset representa uma página de frames ou um único frame em uma página de frames. Document.Frameset devolve o Frameset raiz para um documento que foi carregado a partir de uma estrutura HTML com frames. FrameDefaultUrl (string) é a URL da página web ou o nome do arquivo do documento exibido nesse frame. IsFrameLinkToFile (bool) indica se o valor FrameDefaultUrl é um recurso externo ao qual o frame faz link. ChildFramesets devolve um FramesetCollection dos frames filhos e das páginas de frames aninhadas sob este.


Iterando Frames Filhos com FramesetCollection

FramesetCollection implementa IEnumerable<Frameset>, portanto GetEnumerator() suporta iteração foreach sobre os frames que contém. Count informa o número de frames ou páginas de frames na coleção. Combine Count e iteração com ChildFramesets para percorrer recursivamente uma estrutura de página com frames aninhada — cada Frameset filho pode, por sua vez, conter mais ChildFramesets.


Dicas e Melhores Práticas

  • Verifique Document.Frameset para null antes de ler suas propriedades — a maioria dos documentos não são páginas de frames, portanto essa propriedade só é preenchida quando a fonte HTML usou um layout de frames.
  • Percorra ChildFramesets recursivamente (em vez de assumir uma estrutura plana de um nível) já que uma página de frames pode aninhar outras páginas de frames dentro de seus frames.
  • Use IsFrameLinkToFile para distinguir um frame que vincula a um recurso externo de um que incorpora o nome de arquivo de um documento diretamente em FrameDefaultUrl.
  • FramesetCollection.Count é uma forma simples de verificar se um Frameset tem filhos antes de iterar.

Problemas Comuns

ProblemaCausaCorreção
Document.Frameset é nullO documento não foi carregado a partir de uma fonte HTML baseada em framesConfirme que o documento de origem realmente utilizou frames HTML antes de confiar nesta propriedade
Iterar ChildFramesets ignora frames aninhadosApenas o nível superior foi iteradoRecursar em cada Frameset.ChildFramesets filho em vez de iterar apenas um nível de profundidade
Não é possível determinar se um frame aponta para um arquivo ou uma URLIsFrameLinkToFile não foi verificadoLeia IsFrameLinkToFile junto com FrameDefaultUrl para saber como resolver o destino

FAQ

O que é um Frameset no Aspose.Words FOSS para .NET?

Ele representa uma página de frames ou um único frame em uma página de frames, exposto como Document.Frameset para documentos carregados a partir de uma fonte HTML baseada em frames.

Como listar todos os frames em um frameset?

Iterar Frameset.ChildFramesets (um FramesetCollection) com GetEnumerator() / foreach, recursivamente em qualquer filho que também possua mais ChildFramesets.

Como descobrir quantos frames filhos um Frameset possui?

Leia FramesetCollection.Count em sua propriedade ChildFramesets.

O que IsFrameLinkToFile lhe diz?

Se a página da web ou o nome do arquivo de documento em FrameDefaultUrl é um recurso externo ao qual o frame está vinculado.


API Reference Resumo

Classe/MétodoDescrição
Document.FramesetRaiz Frameset para um documento carregado de uma fonte HTML baseada em frames
FramesetRepresenta uma página de frames ou um único frame em uma página de frames
Frameset.FrameDefaultUrlURL da página da web ou nome de arquivo do documento exibido no frame
Frameset.IsFrameLinkToFileSe FrameDefaultUrl é um recurso vinculado externo
Frameset.ChildFramesetsFramesetCollection de quadros filhos e páginas de frames
FramesetCollectionColeção de instâncias de Frameset; Count, GetEnumerator

Ver também

 Português