PDFium Component Docs

Przechodzenie po strukturze i cache

Component: TPdf  ·  Unit: PDFium
Czytaj strukturę oznakowaną PDF przyrostowo albo ponownie używaj kompletnych migawek stron świadomych rewizji

ReadStructureElements

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

VisitStructureElements

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

StructureElementsForPage

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

StructureCacheCapacity

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

StructureCacheCount

property StructureCacheCount: Integer; // read only

Zwraca bieżącą liczbę poprawnych migawek stron

StructureCacheHitCount and StructureCacheMissCount

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

Default budgets

MaxDepth256
MaxElements100000
MaxAttributeValues100000
DeadlineMilliseconds0 — bez terminu granicznego
IncludeAttributesTrue

See Also

StructureElements, ReadableContent, ValidatePdfUaStructureElements