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

Tópicos relacionados

Assinatura PFX incremental, THotPDF.SaveIncrementalUpdate