THotPDF.CopyLoadedSourceToStream
Copia os bytes originais do PDF carregado com uma leitura delimitada que preserva a posição da origem
Declaração
procedure CopyLoadedSourceToStream(Destination: TStream;
MaxBytes: Int64; Checkpoint: TNotifyEvent = nil);
Comportamento
Este método de HPDFDoc copia os bytes originais retidos da origem sem salvar nem normalizar o grafo de objetos atual, e restaura a posição do stream de origem emprestado em sucesso e falha
Loads de arquivos criptografados retêm um handle separado de leitura original mesmo depois que a decodificação por senha desabilita o atalho comum de save; este método copia o ciphertext original e GetLoadedSourceFileSize reporta seu tamanho
O handle original retido é liberado durante reload, destruição e publicação incremental in-place suportada, e participa das checagens de alias do arquivo físico de origem
MaxBytes precisa ser positivo e inclui o comprimento completo da origem; uma origem maior dispara EHPDFIncrementalOutputBudget antes da primeira gravação
Destination precisa ser não nil e não pode ser alias do stream carregado nem do mesmo arquivo subjacente, incluindo hard link; uma origem original indisponível dispara EInvalidOpException
OperationCancellationToken e Checkpoint são checados antes e durante as leituras, em blocos de no máximo 64 KiB; o checkpoint recebe a instância THotPDF
O método grava na posição atual do destino sem limpar seu conteúdo existente; cancelamento, erros de leitura ou falhas do destino podem deixar uma cópia parcial, então os chamadores devem descartar um candidato malsucedido
O método não serializa mudanças pendentes de objetos e não estabelece que o grafo carregado ainda corresponde à origem raw