PDFium Component Docs

Structuurtraversatie en cache

Component: TPdf  ·  Unit: PDFium
Lees getagde PDF-structuur incrementeel of hergebruik volledige revisiebewuste paginasnapshots

ReadStructureElements

function ReadStructureElements(PageNumber: Integer; const Options: TPdfStructureReadOptions; out Status: TPdfStructureReadStatus): TPdfStructureElements;

Gebruikt iteratieve pre-order traversatie en geeft een snapshot in eigendom van de aanroeper terug met stabiele Level- en ParentIndex-waarden

Elke TPdfStructureElement rapporteert hiërarchiefeiten via MarkedContentIDs, ChildCount, ChildMarkedContentIDs en AttributeCount, tabelstructuur via HasHeaders, HeadersIds en ColSpan, en de print- en referentie-sentinels HasPrintField en HasReference

Rolmapping wordt blootgelegd via RoleMappedNamespaceUri en RoleMappedTypeName, bijbehorende bestanden via HasAssociatedFile, AssociatedFileRelationship, AssociatedFileDescription, AssociatedFileDeclaredInCatalog, AssociatedFileDeclaredInStructure, AssociatedFileInEmbeddedFilesNameTree, AssociatedFileHasReadingOrder en AssociatedFileReadingOrderIndex, en annotatiefeiten via AnnotationSubtype, AnnotationContents, AnnotationAlternateText, IsArtifact, de widget-sentinels WidgetCount en HasAppearance, en FieldAlternateName

MaxDepth, MaxElements, MaxAttributeValues en DeadlineMilliseconds begrensen het native werk en de beheerde allocatie

IncludeAttributes=False houdt structuurtekst, hiërarchie en MCIDs vast terwijl het materialiseren van attribuutwaarden wordt overgeslagen

Status.Completed is false wanneer een budget wordt bereikt, de deadline verstrijkt of een visitor de traversatie stopt

Status.ElementsVisited en Status.AttributeValuesVisited tellen het uitgevoerde werk, terwijl Status.DepthLimitReached, Status.ElementLimitReached, Status.AttributeLimitReached en Status.DeadlineReached aangeven welk budget de traversatie heeft stopgezet

VisitStructureElements

function VisitStructureElements(PageNumber: Integer; const Options: TPdfStructureReadOptions; Visitor: TPdfStructureElementVisitor; out Status: TPdfStructureReadStatus): Integer;

Roept Visitor één keer aan voor elk element zonder de volledige pagina-array toe te wijzen

Zet de parameter KeepGoing van de callback op false voor een normale vroege stop die via Status.VisitorStopped wordt gerapporteerd

Elke callback ontvangt beheerde elementgegevens die na terugkeer van de callback behouden kunnen blijven, en er wordt geen native structure-handle blootgelegd

StructureElementsForPage

property StructureElementsForPage[PageNumber: Integer]: TPdfStructureElements; // read only

Leest elke één-gebaseerde pagina zonder PageNumber te wijzigen of OnPageChange te laten afgaan

Volledige resultaten met standaardbudgetten gaan naar de gedeelde LRU-cache die wordt gebruikt door StructureElements, TPdfView.StructureElements, leesbare content, reflow, gestructureerde tekst en toegankelijkheidsvalidatie

Geneste dynamische arrays en attribuutblobs worden diep gekopieerd, dus het wijzigen van een teruggegeven snapshot kan de cache of de PDF niet aanpassen

StructureCacheCapacity

property StructureCacheCapacity: Integer; // read and write, default 8

Beperkt het aantal volledige paginasnapshots dat bewaard wordt in least-recently-used-volgorde

Zet de capaciteit op nul om gecachte snapshots vrij te geven en toekomstige caching uit te schakelen

Negatieve capaciteitswaarden verhogen EPdfError

StructureCacheCount

property StructureCacheCount: Integer; // read only

Geeft het huidige aantal geldige paginasnapshots terug

StructureCacheHitCount and StructureCacheMissCount

property StructureCacheHitCount: Int64; // read only
property StructureCacheMissCount: Int64; // read only

Legen cumulatieve opzoakingstelemetrie bloot voor de componentinstantie

Bewerkingen maken de betreffende pagina of de volledige cache ongeldig terwijl de cumulatieve tellers bewaard blijven

Default budgets

MaxDepth256
MaxElements100000
MaxAttributeValues100000
DeadlineMilliseconds0 voor geen deadline
IncludeAttributesTrue

See Also

StructureElements, ReadableContent, ValidatePdfUaStructureElements