Registro THPDFLinearizedPageRangePlan
El plan de rangos de bytes para leer progresivamente una página de un archivo linealizado: estado y diagnóstico, offsets de cabecera analizados, datos del objeto de página, ubicación del flujo de hints, datos de grupos compartidos, totales de transferencia y los rangos de bytes ordenados
Declaración
THPDFLinearizedPageRangePlan= record
Status: THPDFLinearizedPagePlanStatus;
FileLength: Int64;
PageIndex: Integer;
FirstPageIndex: Integer;
PageCount: Integer;
FirstPageEndOffset: Int64;
MainXRefOffset: Int64;
PageObjectNumber: Integer;
PageObjectCount: Integer;
PageOffset: Int64;
PageLength: Int64;
PrimaryHintOffset: Int64;
PrimaryHintLength: Int64;
OverflowHintOffset: Int64;
OverflowHintLength: Int64;
SharedGroupCount: Integer;
CrossReferenceEntryCount: Integer;
HintBytesDecoded: Int64;
RequiredBytes: Int64;
TransferRatio: Double;
RangeCount: Integer;
DependencyRangeCount: Integer;
AllRangesAvailable: boolean;
UsesCrossReferenceStream: boolean;
HintEncoding: THPDFLinearizedHintEncoding;
Ranges: THPDFLinearizedByteRangeArray;
DependencyRanges: THPDFLinearizedByteRangeArray;
Diagnostic: AnsiString;
end;
Unidad
HPDFDoc
Campos
| Campo | Propósito |
|---|---|
Status | Resultado THPDFLinearizedPagePlanStatus: listo, no linealizado, referencia cruzada no admitida, límites excedidos o rangos no disponibles |
FileLength | Tamaño total de la fuente planificada |
PageIndex | Página solicitada basada en cero, o -1 para planes bootstrap de solo cabecera |
FirstPageIndex / PageCount | Índice de primera página y número de páginas analizados de la cabecera de linealización |
FirstPageEndOffset / MainXRefOffset | Valores /E y /T de la cabecera: final de la sección de la primera página y offset de la referencia cruzada principal |
PageObjectNumber / PageObjectCount | Número de objeto de la página solicitada y número de objetos de su lista de objetos |
PageOffset / PageLength | Rango de bytes de la sección de la página en el archivo |
PrimaryHintOffset / PrimaryHintLength | Ubicación del flujo de hints primario |
OverflowHintOffset / OverflowHintLength | Ubicación del flujo de hints de desbordamiento, cero y vacío cuando no lo hay |
SharedGroupCount / CrossReferenceEntryCount | Grupos de objetos compartidos planificados para la página y entradas de referencias cruzadas cubiertas por el plan |
HintBytesDecoded | Bytes de carga de hints realmente decodificados al construir el plan |
RequiredBytes | Bytes totales que deben transferirse para renderizar la página |
TransferRatio | RequiredBytes dividido por FileLength; cero cuando la planificación falló |
RangeCount / DependencyRangeCount | Número de entradas de Ranges y de DependencyRanges |
AllRangesAvailable | true cuando todos los rangos planificados están presentes en la fuente de acceso aleatorio |
UsesCrossReferenceStream | true cuando el plan se construyó contra un flujo de referencias cruzadas en lugar de una tabla clásica |
HintEncoding | THPDFLinearizedHintEncoding es la disposición detectada en los flujos de hints |
Ranges | Rangos de bytes ordenados que hay que obtener para la página solicitada, incluidos los rangos de bootstrap y de referencias cruzadas según las opciones |
DependencyRanges | Rangos de bytes de los objetos compartidos de los que depende la página |
Diagnostic | Texto de motivo fail-closed cuando Status informa de un fallo |
Notas de uso
- Solicite uno por página a
THotPDF.PlanProgressiveLinearizedPageRanges; compruebeStatusantes de fiarse de cualquier otro campo - Obtenga
Rangesprimero para el primer pintado más rápido, y luegoDependencyRangessegún se necesiten los objetos compartidos; el planificador de redibujado consume el plan exactamente en este orden - Use
TransferRatioyRequiredBytespara estimar las necesidades de ancho de banda antes de comprometerse con la entrega progresiva