PDFium Delphi Component Docs

TPdfStreamAdapter クラス

ユニット: PDFium
シーク可能な Pascal の TStream から PDFium の FPDF_FILEACCESS コールバック構造体への橋渡しです

構文

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;

メンバー

メンバー説明
Createシーク可能な TStream を包み、現在の格納量と異なる論理ファイルサイズを任意で供給し、ストリームの所有権を任意でアダプターへ移します
Destroyアダプターの状態を解放し、OwnsStream が True の場合は Stream を解放します
Streamコンストラクターに渡された基盤ストリームです
OwnsStreamDestroy でアダプターがストリームを解放すべき場合に True です
FileSizeFPDF_FILEACCESS 経由で公開される論理サイズです。プログレッシブ読み込み中にまだ存在しないバイトも含みます
FileAccessFPDF_LoadCustomDocument に適した PDFium コールバックレコードです

説明

TPdfStreamAdapter は、読み込みの前に PDF 全体をメモリへコピーする代わりに、PDFium が必要に応じてストリームからバイト範囲を要求できるようにします

ストリームはシークをサポートしなければならず、読み込まれた FPDF_DOCUMENT がアダプターから読み取れる限り生きている必要があります

TPdf.LoadCustomDocument は、高レベルコンポーネント API に対して同じアダプターの経路を使用します

例

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

関連項目

TPdf.LoadCustomDocument