THotPDF.CopyLoadedSourceToStream

Kopiert die ursprünglichen geladenen PDF-Bytes mit begrenztem Lesevorgang unter Erhalt der Quellpositionen

Deklaration

procedure CopyLoadedSourceToStream(Destination: TStream;
  MaxBytes: Int64; Checkpoint: TNotifyEvent = nil);

Verhalten

Diese HPDFDoc-Methode kopiert die vorgehaltenen Original-Source-Bytes, ohne den aktuellen Objektgraphen zu speichern oder zu normalisieren, und stellt die Position des geliehenen Source-Streams bei Erfolg und Fehlschlag wieder her

Verschlüsselte Dateiladungen behalten ein separates Original-Lesehandle, auch wenn die passwortbasierte Entschlüsselung den gewöhnlichen Speichern-Shortcut deaktiviert; diese Methode kopiert den ursprünglichen Ciphertext, und GetLoadedSourceFileSize meldet dessen Größe

Das vorgehaltene Original-Handle wird beim Neuladen, bei der Zerstörung und bei unterstützter inkrementeller In-Place-Veröffentlichung freigegeben und fließt in physikalische Alias-Prüfungen der Source-Datei ein

MaxBytes muss positiv sein und umfasst die komplette Source-Länge; eine größere Source löst EHPDFIncrementalOutputBudget vor dem ersten Schreibvorgang aus

Destination darf nicht nil sein und darf weder den geladenen Stream noch dieselbe zugrunde liegende Datei aliasen, einschließlich Hardlink; eine nicht verfügbare Original-Source löst EInvalidOpException aus

OperationCancellationToken und Checkpoint werden vor und während der Lesevorgänge in Blöcken von höchstens 64 KiB geprüft; der Checkpoint erhält die THotPDF-Instanz

Die Methode schreibt an der aktuellen Position des Ziels, ohne dessen vorhandenen Inhalt zu löschen; Abbruch, Lesefehler oder Ziel-Fehler können eine unvollständige Kopie hinterlassen, daher sollten Aufrufer einen erfolglosen Kandidaten verwerfen

Die Methode serialisiert keine ausstehenden Objektänderungen und stellt nicht sicher, dass der geladene Graph weiterhin zur rohen Source passt

Verwandte Themen

Inkrementelles PFX-Signing, THotPDF.SaveIncrementalUpdate