THotPDF.CopyLoadedSourceToStream
Copia os bytes originais do PDF carregado com uma leitura delimitada que preserva a posição da fonte
Declaration
procedure CopyLoadedSourceToStream(Destination: TStream;
MaxBytes: Int64; Checkpoint: TNotifyEvent = nil);
Comportamento
Este método de HPDFDoc copia os bytes originais retidos da fonte sem gravar nem normalizar o grafo de objetos atual, e restaura a posição da stream da fonte emprestada em sucesso e falha
Carregamentos de ficheiros encriptados retêm um handle de leitura original separado mesmo depois de a desencriptação por palavra-passe desativar o atalho comum de gravação; este método copia o ciphertext original e GetLoadedSourceFileSize reporta o tamanho dele
O handle original retido é libertado durante recarregamento, destruição e publicação incremental suportada no local, e participa nas verificações de aliases de ficheiros fonte físicos
MaxBytes tem de ser positivo e inclui o comprimento completo da fonte; uma fonte maior levanta EHPDFIncrementalOutputBudget antes da primeira escrita
Destination tem de ser não nil e não pode ser alias da stream carregada nem do mesmo ficheiro subjacente, incluindo um hard link; uma fonte original indisponível levanta EInvalidOpException
OperationCancellationToken e Checkpoint são verificados antes e durante as leituras em blocos de no máximo 64 KiB; o checkpoint recebe a instância de THotPDF
O método escreve na posição atual do destino sem limpar o conteúdo existente dele; cancelamento, erros de leitura ou falhas do destino podem deixar uma cópia parcial, pelo que quem chama deve descartar um candidato malsucedido
O método não serializa alterações pendentes de objetos e não estabelece que o grafo carregado ainda corresponde à fonte em bruto