PDFium Delphi Component Docs

Recorrido de la estructura y caché

Componente: TPdf  ·  Unidad: PDFium
Lee la estructura PDF etiquetada de forma incremental o reutiliza instantáneas de página completas conscientes de la revisión

ReadStructureElements

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

VisitStructureElements

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

StructureElementsForPage

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

StructureCacheCapacity

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

StructureCacheCount

property StructureCacheCount: Integer; // read only

Devuelve el número actual de instantáneas de página válidas

StructureCacheHitCount and StructureCacheMissCount

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

Default budgets

MaxDepth256
MaxElements100000
MaxAttributeValues100000
DeadlineMilliseconds0 para no aplicar plazo límite
IncludeAttributesTrue

See Also

StructureElements, ReadableContent, ValidatePdfUaStructureElements