Record THPDFXRefIntegrityInfo
Salud de la tabla de referencias cruzadas: conteos de entradas, estado de la cadena free, tipos inválidos, duplicados y definiciones en sombra
Declaración
THPDFXRefIntegrityInfo= record
EntryCount: Integer;
FreeEntryCount: Integer;
FreeChainLength: Integer;
UnlinkedFreeEntryCount: Integer;
InvalidFreeLinkCount: Integer;
FreeCycleCount: Integer;
InvalidEntryTypeCount: Integer;
GenerationTransitionErrorCount: Integer;
DuplicateDefinitionCount: Integer;
ShadowedDefinitionCount: Integer;
DroppedShadowedDetailCount: Integer;
Valid: boolean;
Diagnostic: AnsiString;
ShadowedEntries: THPDFXRefShadowedEntryArray;
end;
Unidad
HPDFDoc
Campos
| Campo | Propósito |
|---|---|
EntryCount | Total de entradas entre las secciones de referencias cruzadas fusionadas; un valor cero significa que no hay datos de integridad disponibles |
FreeEntryCount | Entradas marcadas free (tipo f) |
FreeChainLength | Longitud de la cadena free-list alcanzable desde el objeto cero |
UnlinkedFreeEntryCount | Entradas free que existen pero no son alcanzables a través de la cadena free |
InvalidFreeLinkCount | Entradas free cuyo enlace estilo /Next apunta a una entrada no free |
FreeCycleCount | Ciclos detectados al recorrer la cadena free |
InvalidEntryTypeCount | Entradas cuyo byte de tipo no es ni in-use ni free |
GenerationTransitionErrorCount | Transiciones de in-use a free cuyos números de generación rompen la regla mod-65536 |
DuplicateDefinitionCount | Números de objeto definidos más de una vez entre revisiones |
ShadowedDefinitionCount | Definiciones duplicadas cuya copia más vieja quedó en sombra frente a la revisión más nueva |
DroppedShadowedDetailCount | Entradas en sombra cuyo detalle completo no se pudo conservar en ShadowedEntries |
Valid | True cuando la tabla fusionada pasó todas las comprobaciones estructurales |
Diagnostic | Texto que describe la primera clase de problema encontrada |
ShadowedEntries | Detalle por entrada de las definiciones en sombra, con tipo activo y en sombra, offset, generación y revisión |
Notas de uso
- Llénelo con
GetLoadedXRefIntegrityInfo, que devuelve false cuando el documento cargado no produjo ningún scan de integridad - Un
FreeCycleCounto unInvalidFreeLinkCountmayores que cero piden reparar la free list antes de cualquier guardado incremental ShadowedEntrieses el rastro de evidencia deShadowedDefinitionCount; combínelo conTHPDFXRefMergeInfopara ver qué precedencia de revisión produjo al ganador