THPDFRandomAccessSource-Klasse
Abstrakte Basisklasse, die es THotPDF.LoadFromRandomAccessSource ermöglicht, ein PDF aus jedem vom Aufrufer definierten seek-fähigen Byte-Speicher zu laden, ohne eine TStream-Implementierung zu erfordern
Deklaration
THPDFRandomAccessSource = class
public
function GetSize: Int64; virtual; abstract;
function ReadAt(Offset: Int64; var Buffer;
Count: Longint): Longint; virtual; abstract;
end;
Unit
HPDFDoc
Elemente
| Name | Zweck |
|---|---|
GetSize | Gibt die stabile Bytelänge des zugrunde liegenden Speichers zurück |
ReadAt | Liest Count Bytes ab Offset in Buffer |
Verwendungshinweise
- Leiten Sie eine Unterklasse ab und überschreiben Sie beide abstrakten Methoden, um HotPDF an HTTP-Range-Anfragen, Datenbank-BLOBs, komprimierte Archive, verschlüsselte Volumes oder jeden virtuellen Speicher anzupassen, der Bytes nach Offset liefern kann
GetSizemuss für die Lebensdauer des Ladevorgangs eine stabile, nicht-negative Bytelänge zurückgeben; HotPDF parst die Cross-Reference-Tabellen und Objekt-Streams durch das Durchsuchen dieser QuelleReadAtgibt die Anzahl der tatsächlich übertragenen Bytes zurück (null bisCount); der Parser behandelt einen kurzen Lesezugriff am dokumentierten Dateiende als Stream-Ende, nicht als Fehler- Die Quelle muss gültig bleiben, während das geladene Dokument verwendet wird; übergeben Sie
OwnsSource = Truean LoadFromRandomAccessSource, damit HotPDF die Quelle automatisch freigibt