PDFium Delphi Component Docs

TPdfStreamAdapter Класс

Модуль: PDFium
Мост из поддерживающего позиционирование Pascal-потока TStream в структуру обратных вызовов FPDF_FILEACCESS библиотеки PDFium

Syntax

constructor Create(AStream: TStream; AOwnsStream: Boolean = False);
constructor Create(AStream: TStream; AFileSize: UInt64; AOwnsStream: Boolean);
destructor Destroy; override;
property Stream: TStream read FStream;
property OwnsStream: Boolean read FOwnsStream;
property FileSize: UInt64 read FFileSize;
property FileAccess: FPDF_FILEACCESS read FFileAccess;

Members

MemberDescription
CreateОборачивает поддерживающий позиционирование TStream, при необходимости задаёт логический размер файла, отличающийся от текущего хранилища, и может передать адаптеру владение потоком
DestroyОсвобождает состояние адаптера и освобождает Stream, когда OwnsStream равен True
StreamБазовый поток, переданный конструктору
OwnsStreamTrue, когда адаптер должен освободить поток в Destroy
FileSizeЛогический размер, видимый через FPDF_FILEACCESS, включая байты, ещё не присутствующие при прогрессивной загрузке
FileAccessЗапись обратных вызовов PDFium, пригодная для FPDF_LoadCustomDocument

Description

TPdfStreamAdapter позволяет PDFium запрашивать диапазоны байтов из потока по требованию вместо копирования всего PDF в память до загрузки

Поток должен поддерживать позиционирование и оставаться живым, пока загруженный FPDF_DOCUMENT может читать из адаптера

TPdf.LoadCustomDocument использует тот же путь адаптера для высокоуровневого API компонента

Example

Adapter := TPdfStreamAdapter.Create(FileStream, True);
Document := FPDF_LoadCustomDocument(@Adapter.FileAccess, nil);

See Also

TPdf.LoadCustomDocument