function ReadStructureElements(PageNumber: Integer; const Options: TPdfStructureReadOptions; out Status: TPdfStructureReadStatus): TPdfStructureElements;
Używa iteracyjnego przejścia w głąb (pre-order) i zwraca spłaszczoną migawkę należącą do wywołującego, ze stabilnymi wartościami Level i ParentIndex
Każdy TPdfStructureElement raportuje też fakty hierarchii przez MarkedContentIDs, ChildCount, ChildMarkedContentIDs i AttributeCount, strukturę tabeli przez HasHeaders, HeadersIds i ColSpan oraz znaczniki druku i odniesienia HasPrintField i HasReference
Mapowanie ról jest ujawniane przez RoleMappedNamespaceUri i RoleMappedTypeName, powiązane pliki przez HasAssociatedFile, AssociatedFileRelationship, AssociatedFileDescription, AssociatedFileDeclaredInCatalog, AssociatedFileDeclaredInStructure, AssociatedFileInEmbeddedFilesNameTree, AssociatedFileHasReadingOrder i AssociatedFileReadingOrderIndex, a fakty adnotacji przez AnnotationSubtype, AnnotationContents, AnnotationAlternateText, IsArtifact, znaczniki widżetów WidgetCount i HasAppearance oraz FieldAlternateName
MaxDepth, MaxElements, MaxAttributeValues i DeadlineMilliseconds ograniczają pracę natywną i alokacje zarządzane
IncludeAttributes=False zachowuje tekst struktury, hierarchię i MCID, pomijając materializację wartości atrybutów
Status.Completed ma wartość false, gdy osiągnięto którykolwiek budżet, upłynął termin graniczny albo odwiedzający zatrzymał przechodzenie
Status.ElementsVisited i Status.AttributeValuesVisited zliczają wykonaną pracę, a Status.DepthLimitReached, Status.ElementLimitReached, Status.AttributeLimitReached i Status.DeadlineReached wskazują, który budżet zatrzymał przechodzenie
function VisitStructureElements(PageNumber: Integer; const Options: TPdfStructureReadOptions; Visitor: TPdfStructureElementVisitor; out Status: TPdfStructureReadStatus): Integer;
Wywołuje Visitor raz dla każdego elementu, bez alokowania pełnej tablicy strony
Ustaw parametr KeepGoing wywołania zwrotnego na false, aby wykonać normalne wcześniejsze zatrzymanie raportowane przez Status.VisitorStopped
Każde wywołanie zwrotne otrzymuje zarządzane dane elementu, które można przechować po jego zakończeniu, a żadne natywne uchwyty struktury nie są ujawniane
property StructureElementsForPage[PageNumber: Integer]: TPdfStructureElements; // read only
Odczytuje dowolną stronę o numeracji od 1, bez zmiany PageNumber i bez wyzwalania OnPageChange
Kompletne wyniki z domyślnymi budżetami trafiają do współdzielonego cache LRU używanego przez StructureElements, TPdfView.StructureElements, zawartość czytelną, reflow, tekst strukturyzowany i walidację dostępności
Zagnieżdżone tablice dynamiczne i bloby atrybutów są kopiowane w głąb, więc zmiana zwróconej migawki nie może zmodyfikować cache ani pliku PDF
property StructureCacheCapacity: Integer; // read and write, default 8
Ogranicza liczbę kompletnych migawek stron przechowywanych według kolejności najrzadszego użycia
Ustaw pojemność na zero, aby zwolnić buforowane migawki i wyłączyć przyszłe buforowanie
Ujemne wartości pojemności zgłaszają EPdfError
property StructureCacheCount: Integer; // read only
property StructureCacheHitCount: Int64; // read only
property StructureCacheMissCount: Int64; // read only
Ujawniają skumulowaną telemetrię odwołań dla instancji komponentu
Edycje unieważniają dotkniętą stronę lub cały cache, zachowując skumulowane liczniki
| MaxDepth | 256 |
| MaxElements | 100000 |
| MaxAttributeValues | 100000 |
| DeadlineMilliseconds | 0 — bez terminu granicznego |
| IncludeAttributes | True |