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