TStream naar de callbackstructuur FPDF_FILEACCESS van PDFium
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;
| Member | Description |
|---|---|
Create | Omsluit een seekable TStream, levert optioneel een logische bestandsgrootte die afwijkt van de huidige opslag en draagt het stremeigendom optioneel over aan de adapter |
Destroy | Geeft de adapterstatus vrij en geeft Stream vrij wanneer OwnsStream True is |
Stream | Onderliggende stream die aan de constructor is doorgegeven |
OwnsStream | True wanneer de adapter de stream in Destroy moet vrijgeven |
FileSize | Logische grootte die via FPDF_FILEACCESS zichtbaar is, inclusief bytes die tijdens progressief laden nog niet aanwezig zijn |
FileAccess | PDFium-callbackrecord dat geschikt is voor FPDF_LoadCustomDocument |
TPdfStreamAdapter laat PDFium op verzoek bytebereiken uit een stream opvragen in plaats van de hele PDF vóór het laden naar het geheugen te kopiëren
De stream moet seeking ondersteunen en moet bruikbaar blijven zolang de geladen FPDF_DOCUMENT uit de adapter kan lezen
TPdf.LoadCustomDocument gebruikt hetzelfde adapterpad voor de high-level component-API
Adapter := TPdfStreamAdapter.Create(FileStream, True);
Document := FPDF_LoadCustomDocument(@Adapter.FileAccess, nil);