THPDFLinearizedPageRangePlan Record
O plano de faixas de bytes para ler progressivamente uma página de um arquivo linearizado: status e diagnóstico, offsets de cabeçalho interpretados, fatos do objeto de página, posicionamento de hint streams, fatos de grupos compartilhados, totais de transferência e as faixas de bytes ordenadas
Declaração
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;
Unidade
HPDFDoc
Campos
| Campo | Finalidade |
|---|---|
Status | Desfecho THPDFLinearizedPagePlanStatus: pronto, não linearizado, referência cruzada não suportada, limites excedidos ou faixas indisponíveis |
FileLength | Tamanho total da fonte planejada |
PageIndex | Página solicitada baseada em zero, ou -1 para planos de bootstrap somente de cabeçalho |
FirstPageIndex / PageCount | Índice de primeira página e contagem de páginas interpretados do cabeçalho de linearização |
FirstPageEndOffset / MainXRefOffset | Valores /E e /T do cabeçalho: fim da seção de primeira página e offset da referência cruzada principal |
PageObjectNumber / PageObjectCount | Número de objeto da página solicitada e número de objetos na lista de objetos dela |
PageOffset / PageLength | Faixa de bytes da seção da página no arquivo |
PrimaryHintOffset / PrimaryHintLength | Posicionamento do hint stream primário |
OverflowHintOffset / OverflowHintLength | Posicionamento do hint stream de overflow, zero e vazio quando não há |
SharedGroupCount / CrossReferenceEntryCount | Grupos de objetos compartilhados planejados para a página e entradas de referências cruzadas cobertas pelo plano |
HintBytesDecoded | Bytes de payload de hints realmente decodificados ao construir o plano |
RequiredBytes | Total de bytes que precisam ser transferidos para renderizar a página |
TransferRatio | RequiredBytes dividido por FileLength; zero quando o planejamento falhou |
RangeCount / DependencyRangeCount | Número de entradas em Ranges e em DependencyRanges |
AllRangesAvailable | true quando toda faixa planejada está presente na fonte de acesso aleatório |
UsesCrossReferenceStream | true quando o plano foi construído contra um cross-reference stream em vez de uma tabela clássica |
HintEncoding | Layout THPDFLinearizedHintEncoding detectado nos hint streams |
Ranges | Faixas de bytes ordenadas a buscar para a página solicitada, incluindo faixas de bootstrap e de referências cruzadas conforme as opções |
DependencyRanges | Faixas de bytes dos objetos compartilhados de que a página depende |
Diagnostic | Texto de motivo fail-closed quando Status reporta falha |
Notas de uso
- Solicite um por página de
THotPDF.PlanProgressiveLinearizedPageRanges; confira oStatusantes de confiar em qualquer outro campo - Busque
Rangesprimeiro para o primeiro paint mais rápido, depoisDependencyRangesconforme os objetos compartilhados forem necessários; o agendador de redraw consome o plano exatamente nesta ordem - Use
TransferRatioeRequiredBytespara estimar necessidades de banda antes de se comprometer com a entrega progressiva