|
Carrega um arquivo PDF existente.
Sintaxe Delphi:
function LoadFromFile ( FileName: TFileName ): Integer;
function LoadFromFile ( FileName: TFileName; const Password: AnsiString ): Integer;
function LoadFromFile ( FileName: TFileName; AutoDecrypt: Boolean ): Integer;
Sintaxe C++:
int __fastcall LoadFromFile ( AnsiString FileName );
int __fastcall LoadFromFile ( AnsiString FileName, System::AnsiString Password );
int __fastcall LoadFromFile ( AnsiString FileName, bool AutoDecrypt );
Descrição
Chame LoadFromFile para carregar um arquivo PDF existente. A função LoadFromFile retorna a contagem de páginas do arquivo carregado. Um arquivo em que nenhuma página pode ser encontrada, como um arquivo vazio ou não PDF, retorna 0 ou dispara uma exceção. Um arquivo criptografado cujas páginas estão em object streams criptografados dispara uma exceção quando é carregado sem a senha dele; use a sobrecarga com senha
A configuração de cross-reference streams é lida das próprias keys de dictionary dela, incluindo escapes de PDF names. Um /Encrypt direto aninhado fornece parâmetros do security handler sem sobrescrever o /Length, o /Filter, o /W, o /Index do stream externo nem as referências do trailer. Isso suporta documentos reais AES-256 revision 6 com xref streams sem filtragem e object streams criptografados
Parâmetros de predictor PNG em /DecodeParms também resolvem PDF names com escapes e rejeitam keys semânticas duplicadas. O marcador de xref stream é localizado depois do dictionary externo completo, de forma que names, strings e comentários contendo stream não se tornam fronteiras de payload. A leitura consome apenas o line ending exigido depois do marcador e preserva um primeiro byte de payload com valor de whitespace
Arquivos locais em LocalFileMappingThreshold ou acima usam memory mapping em janelas limitado com um cache de janelas LRU compartilhado para leituras do parser e faixas lazy imutáveis de streams. Configure a geometria de mapeamento com LocalFileMappingWindowSize e LocalFileMappingCacheWindows; defina o limiar como zero para manter o caminho de TFileStream. Falhas de mapeamento recuam automaticamente. Arquivos menores, e todos os arquivos quando o mapeamento está desativado ou falha, são lidos com um buffer de leitura de 64 KB sobre o stream do arquivo
Use a sobrecarga com senha para PDFs criptografados com Standard RC4 e AES suportados. O HotPDF valida a senha de usuário ou de owner, recupera a chave do arquivo de faixas limitadas de trailer, xref, document-ID e dicionário de criptografia, descriptografa strings e streams carregados em memória, limpa o estado de criptografia carregado e permite que SaveLoadedDocument grave uma cópia sem criptografia. Carregar sem senha captura o objeto bruto de criptografia pelo offset autoritativo de xref, de modo que uma chamada posterior a DecryptLoadedDocument possa usar valores binários exatos do security handler sem reabrir o arquivo. Revisões de criptografia não suportadas disparam exceção. A recuperação limitada de chaves está disponível desde o HotPDF v2.489.0, e a descriptografia atrasada sem releitura desde o HotPDF v2.490.0.
A sobrecarga AutoDecrypt abre documentos do jeito que os viewers fazem. Quando AutoDecrypt é True e o documento está criptografado com uma senha de usuário vazia, que é como documentos que apenas restringem permissões são escritos, ele é descriptografado em memória exatamente como a sobrecarga com senha faria com uma senha vazia, de modo que o texto dele pode ser extraído, renderizado e exportado; IsEncrypted então é False e um SaveLoadedDocument posterior grava uma cópia sem criptografia. Um documento que precisa de senha, e um não criptografado, carrega como a sobrecarga simples carrega. Se a senha vazia abre o documento é verificado primeiro a partir das mesmas faixas limitadas, sem carregar o documento duas vezes. Com AutoDecrypt False a sobrecarga é a simples
Ao importar objetos PDF existentes, o HotPDF decodifica sequências de escape #XX de nomes PDF da ISO 32000-1 antes de armazenar valores de nomes internamente. Nomes como /PANTONE#20216#20CVC, /lime#20Green e /The_Key_of_F#23_Minor são preservados com seus valores de bytes pretendidos quando o documento é copiado ou salvo depois.
See also: Windowed Local File Mapping, LoadFromStream, DecryptLoadedDocument
|