function ReadStructureElements(PageNumber: Integer; const Options: TPdfStructureReadOptions; out Status: TPdfStructureReadStatus): TPdfStructureElements;
Usa un recorrido iterativo en preorden y devuelve una instantánea aplanada propiedad del llamador con valores estables de Level y ParentIndex
Cada TPdfStructureElement también informa de datos de jerarquía mediante MarkedContentIDs, ChildCount, ChildMarkedContentIDs y AttributeCount, de estructura de tablas mediante HasHeaders, HeadersIds y ColSpan, y de los indicadores de impresión y referencia HasPrintField y HasReference
La asignación de roles se expone mediante RoleMappedNamespaceUri y RoleMappedTypeName, los archivos asociados mediante HasAssociatedFile, AssociatedFileRelationship, AssociatedFileDescription, AssociatedFileDeclaredInCatalog, AssociatedFileDeclaredInStructure, AssociatedFileInEmbeddedFilesNameTree, AssociatedFileHasReadingOrder y AssociatedFileReadingOrderIndex, y los datos de anotaciones mediante AnnotationSubtype, AnnotationContents, AnnotationAlternateText, IsArtifact, los indicadores de widget WidgetCount y HasAppearance, y FieldAlternateName
MaxDepth, MaxElements, MaxAttributeValues y DeadlineMilliseconds acotan el trabajo nativo y la asignación administrada
IncludeAttributes=False conserva el texto de la estructura, la jerarquía y los MCID mientras omite la materialización de los valores de atributo
Status.Completed es false cuando se alcanza cualquier presupuesto, el plazo límite vence o un visitante detiene el recorrido
Status.ElementsVisited y Status.AttributeValuesVisited cuentan el trabajo realizado, mientras que Status.DepthLimitReached, Status.ElementLimitReached, Status.AttributeLimitReached y Status.DeadlineReached identifican qué presupuesto detuvo el recorrido
function VisitStructureElements(PageNumber: Integer; const Options: TPdfStructureReadOptions; Visitor: TPdfStructureElementVisitor; out Status: TPdfStructureReadStatus): Integer;
Llama a Visitor una vez por cada elemento sin asignar la matriz completa de la página
Establezca el parámetro KeepGoing de la devolución de llamada en false para una parada anticipada normal, informada por Status.VisitorStopped
Cada devolución de llamada recibe datos de elemento administrados que pueden conservarse después de que la devolución de llamada retorne, y no se expone ningún manejador de estructura nativo
property StructureElementsForPage[PageNumber: Integer]: TPdfStructureElements; // read only
Lee cualquier página basada en uno sin cambiar PageNumber ni disparar OnPageChange
Los resultados completos con presupuestos predeterminados entran en la caché LRU compartida usada por StructureElements, TPdfView.StructureElements, el contenido legible, el reflow, el texto estructurado y la validación de accesibilidad
Las matrices dinámicas anidadas y los blobs de atributos se copian en profundidad, de modo que modificar una instantánea devuelta no puede alterar la caché ni el PDF
property StructureCacheCapacity: Integer; // read and write, default 8
Limita el número de instantáneas de página completas retenidas según el orden de menos uso reciente
Establezca la capacidad en cero para liberar las instantáneas en caché y desactivar el almacenamiento en caché futuro
Los valores de capacidad negativos generan EPdfError
property StructureCacheCount: Integer; // read only
property StructureCacheHitCount: Int64; // read only
property StructureCacheMissCount: Int64; // read only
Exponen la telemetría acumulativa de búsquedas de la instancia del componente
Las ediciones invalidan la página afectada o la caché completa conservando los contadores acumulativos
| MaxDepth | 256 |
| MaxElements | 100000 |
| MaxAttributeValues | 100000 |
| DeadlineMilliseconds | 0 para no aplicar plazo límite |
| IncludeAttributes | True |