확장 가능한 임의 접근 PDF 로딩
HotPDF는 데이터가 필요해질 때까지 스트림 복사와 압축 객체 구문 분석을 지연시켜 로드된 대용량 파일의 응답성을 유지합니다
파일 기반 스트림 창
LoadFromFile으로 열린 암호화되지 않은 문서는 변경 불가능한 스트림 본문을 원본 파일 범위로 유지합니다
읽기는 필요한 범위를 찾은 다음 즉시 원본 핸들을 해제하므로 Windows에서 원본 파일을 계속 교체할 수 있습니다
첫 번째 쓰기는 스트림이 LoadedStreamMemoryThreshold 이하이면 메모리에서, 더 크면 소유된 임시 파일에서 구체화합니다
지연 객체 스트림
디코딩된 각 /Type /ObjStm 컨테이너는 열기 중에 모든 멤버를 구문 분석하지 않고 신뢰할 수 있는 xref 객체 번호로 인덱싱됩니다
카탈로그, 페이지 트리 및 이후 링크 결정은 개별 멤버를 한 번 구체화하고 구문 분석된 객체를 재사용합니다
전체 다시 쓰기는 자동으로 남은 모든 멤버를 구체화하는 반면, 변경되지 않은 파일 기반 저장은 원본 바이트를 직접 보존할 수 있습니다
사용자 지정 임의 접근
THPDFRandomAccessSource에서 파생하고 GetSize와 ReadAt을 구현하여 HTTP 범위, 데이터베이스, 아카이브 또는 가상 저장소에서 로드하세요
LoadFromRandomAccessSource는 소스를 HotPDF의 시크 가능 파서로 조정하며 문서 수명 동안 소스를 선택적으로 소유할 수 있습니다
진단
GetLoadedStreamCacheInfo는 원본 기반, 메모리 구체화 및 디스크 구체화된 스트림 수를 보고합니다GetLoadedObjectStreamCacheInfo는 인덱싱 및 구체화된 멤버, 캐시 적중 및 누락, 유지된 디코딩 바이트를 보고합니다
참고: LoadFromRandomAccessSource, LoadedStreamMemoryThreshold, DecompressAllObjectStreams