THotPDF.CopyLoadedSourceToStream

Zkopíruje původní načtené PDF bajty ohraničeným čtením, které zachovává pozici ve zdroji

Deklarace

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

Chování

Tato metoda HPDFDoc zkopíruje držené původní zdrojové bajty, aniž by uložila či normalizovala aktuální objektový graf, a při úspěchu i selhání obnoví pozici ve vypůjčeném zdrojovém streamu

Načtení šifrovaného souboru si ponechá samostatný původní read handle, i když dešifrování heslem vypne běžnou save zkratku; tato metoda kopíruje původní ciphertext a GetLoadedSourceFileSize reportuje jeho velikost

Držený původní handle se uvolňuje při reload, zničení i podporované in-place inkrementální publikaci a účastní se kontrol aliasů fyzického zdrojového souboru

MaxBytes musí být kladné a zahrnuje kompletní délku zdroje; větší zdroj vyhodí EHPDFIncrementalOutputBudget dřív, než dojde k prvnímu zápisu

Destination nesmí být nil a nesmí být aliasem načteného streamu ani téhož podkladového souboru, tedy ani hard linku; nedostupný původní zdroj vyhodí EInvalidOpException

OperationCancellationToken a Checkpoint se kontrolují před čtením i během něj po blocích nejvýše 64 KiB; checkpoint dostane instanci THotPDF

Metoda zapisuje na aktuální pozici cíle, aniž by vymazala jeho stávající obsah; zrušení, chyby čtení či selhání cíle mohou zanechat částečnou kopii, takže neúspěšného kandidáta by volající měl zahodit

Metoda neserializuje čekající změny objektů a nezakládá, že načtený graf pořád odpovídá surovému zdroji

Související témata

Inkrementální PFX podepisování, THotPDF.SaveIncrementalUpdate