Carga escalable y de acceso aleatorio de PDF
HotPDF mantiene los archivos cargados grandes con buena respuesta al retrasar las copias de flujo y el análisis de objetos comprimidos hasta que los datos son necesarios
Ventanas de flujo respaldadas por archivo
Los documentos no cifrados abiertos con LoadFromFile conservan los cuerpos de flujo inmutables como rangos del archivo de origen
Las lecturas se posicionan en el rango requerido y liberan el handle de origen de inmediato, por lo que el archivo original sigue siendo reemplazable en Windows
La primera escritura materializa el flujo en memoria cuando está en o por debajo de LoadedStreamMemoryThreshold, o en un archivo temporal propio cuando es más grande
Flujos de objetos diferidos
Cada contenedor /Type /ObjStm decodificado se indexa por número de objeto xref autoritativo sin analizar cada miembro durante la apertura
El catálogo, el árbol de páginas y la resolución posterior de enlaces materializan miembros individuales una vez y reutilizan sus objetos analizados
Una reescritura completa materializa automáticamente todos los miembros restantes, mientras que un guardado respaldado por archivo sin cambios puede conservar los bytes originales directamente
Acceso aleatorio personalizado
Derive de THPDFRandomAccessSource e implemente GetSize más ReadAt para cargar desde rangos HTTP, bases de datos, archivos o almacenamiento virtual
LoadFromRandomAccessSource adapta la fuente al analizador con posicionamiento de HotPDF y, de forma opcional, puede ser propietario de la fuente durante toda la vida del documento
Diagnósticos
GetLoadedStreamCacheInfoinforma los conteos de flujos respaldados por origen, materializados en memoria y materializados en discoGetLoadedObjectStreamCacheInfoinforma miembros indexados y materializados, aciertos y fallos de caché, y bytes decodificados retenidos
Véase también: LoadFromRandomAccessSource, LoadedStreamMemoryThreshold, DecompressAllObjectStreams