Método THotPDF.GetProgressiveLinearizedLoadInfo
Valida un header de linearización acotado y reporta el rango de primera página autocontenido
Declaración
function GetProgressiveLinearizedLoadInfo(Source: THPDFRandomAccessSource; out Info: THPDFProgressiveLoadInfo): boolean;
Unidad
HPDFDoc
Parámetros
| Nombre | Propósito |
|---|---|
Source | Fuente de acceso aleatorio que puede reportar los rangos disponibles de forma independiente |
Info | Recibe los offsets de linearización validados, los flags de rango, el status y los diagnósticos |
Valor de retorno
Devuelve True cuando se parseó un diccionario de linearización válido, incluso si los rangos requeridos todavía no están disponibles
Notas de uso
- La sonda acotada del header usa el parser estricto de rangos de página y valida /L, /H, /O, /E, /N, /T, la estructura de tokens y el objeto indirecto que los contiene
- La disponibilidad de la primera página requiere solo la sección
[0, /E)basada en cero y no depende de la cola principal de referencias cruzadas - Las lecturas cortas legales se acumulan hasta completar cada solicitud acotada, verificando la cancelación entre lecturas
- El método no toma ownership de Source
Planificación de rangos para páginas arbitrarias
function PlanProgressiveLinearizedPageRanges(Source: THPDFRandomAccessSource; PageIndex: Integer; out Plan: THPDFLinearizedPageRangePlan): boolean; overload;
function PlanProgressiveLinearizedPageRanges(Source: THPDFRandomAccessSource; PageIndex: Integer; const Options: THPDFLinearizedPageRangeOptions; out Plan: THPDFLinearizedPageRangePlan): boolean; overload;
El planner decodifica los hint streams primarios y de overflow en bruto o Flate, mapea la página solicitada a través de /P, incluye el bootstrap completo más los grupos de objetos compartidos referenciados y los datos de referencias cruzadas, acepta prefijos entry-zero traditional-xref con LF y CRLF, y devuelve rangos de bytes mínimos ordenados
El plan de primera página siempre usa la sección autocontenida [0, /E) y no requiere decodificar hints
Por defecto se aceptan filas alineadas a bytes interoperables con una secuencia combinada de objetos compartidos y la secuencia dividida continua MSB-first descrita en el Anexo F; HintEncoding identifica la interpretación seleccionada, las interpretaciones duales equivalentes quedan explícitas y las interpretaciones en conflicto fallan de forma cerrada
AllowRowAlignedHints es True por defecto y se puede desactivar para validación solo del Anexo F
Los límites de recursos cubren los bytes de hints decodificados, el conteo de páginas, los grupos compartidos y sus referencias, el conteo de rangos, el merge gap, los bytes totales planificados y la memoria del planner con un techo por defecto de 256 MiB; una interpretación alternativa de hints que no se pueda verificar dentro de ese techo falla de forma cerrada, mientras que los fallos de límite, filtro, hint, xref, disponibilidad e índice de página tienen valores distintos de THPDFLinearizedPagePlanStatus