HPDFTransferStream-Funktion
Überträgt Bytes von der aktuellen Quellposition an die aktuelle Zielposition und vermeidet für unterstützte Speichertypen eine Zwischenkopie
Deklaration
function HPDFTransferStream(
Source, Destination: TStream;
Count: Int64 = -1): Int64;Unit
HPDFObjs
Übertragungspfade
TMemoryStreamschreibt direkt von seinem zugrunde liegenden Zeiger ohne ÜbertragungspufferTFileStreamschreibt direkt aus begrenzten schreibgeschützten zugeordneten Ansichten und fällt automatisch zurück, wenn keine Zuordnung verfügbar istTHPDFMappedFileStreamund quellgestützteTHPDFLazyFileStreamschreiben direkt aus residenten zugeordneten Fenstern- Direktzugriffsstreams delegieren an
THPDFRandomAccessSource.TransferAt, währendTHPDFCoalescingRandomAccessSourcegehaltene Cacheblöcke direkt schreibt - Andere Streamklassen verwenden einen begrenzten 64-KiB-Ersatzpuffer
Anzahl und Positionen
Ein Count von -1 überträgt alle verbleibenden Bytes ab der aktuellen Quellposition, Null überträgt nichts und ein positiver Wert ist auf die verfügbaren Bytes begrenzt; Werte kleiner als -1 werden zurückgewiesen
Beide Streampositionen werden um die zurückgegebene Byteanzahl weitergeschaltet; Quelle und Ziel müssen unterschiedliche Objekte ungleich Null sein
Integration in den PDF-Writer
Unverschlüsselte PDF-Streamkörper, filterfreie dekodierte Ausgabe, Rohbildexport, Materialisierung verzögerter Streams und adaptives Auslagern temporärer Streams nutzen diese Übertragungsschicht automatisch
Verschlüsselte Streamkörper erfordern weiterhin Transformations-Staging, weil sich Bytes und Länge vor der Serialisierung ändern