LoadFromMappedFile

Gestão de documentos, desempenho, entrada de ficheiros

Descrição

Carrega e seleciona um PDF local através de uma vista mapeada só de leitura e delimitada, permitindo que leituras grandes e diferidas de objetos e fluxos reutilizem páginas de ficheiro do sistema operativo sem reter a origem completa em memória

Sintaxe

Delphi

Function TPDFlib.LoadFromMappedFile(Const FileName, Password: WideString;
  WindowSize: Int64= 0; Options: Integer= 0): Integer;

Parâmetros

FileNameO caminho do PDF local
PasswordA senha usada para abrir o PDF, ou uma cadeia vazia para um documento não encriptado
WindowSizeO tamanho pedido da vista mapeada em bytes; zero seleciona 64 MiB, valores abaixo da granularidade de alocação do sistema operativo são elevados a essa granularidade e valores acima de 1 GiB são limitados
OptionsZero permite um fallback de fluxo de ficheiro só de leitura, enquanto PDF_MAPPED_FILE_REQUIRE_MAPPING falha a menos que uma vista mapeada esteja ativa

Valores devolvidos

0Os argumentos eram inválidos, o ficheiro não pôde ser aberto, o mapeamento exigido estava indisponível ou o PDF não pôde ser carregado; inspecione LastErrorCode
1O documento foi carregado e selecionado

Observações

As compilações Windows retêm uma vista só de leitura e remapeiam-na a pedido nos limites da granularidade de alocação; as outras plataformas e as falhas de mapeamento usam o mesmo contrato de leitura absoluta sobre um fluxo de ficheiro normal só de leitura, salvo se o mapeamento for exigidoA vista predefinida de 64 MiB limita a utilização do espaço de endereçamento independentemente do tamanho da origem e é adequada para acesso disperso a ficheiros locais grandes; uma vista menor pode reduzir o espaço de endereçamento residente à custa de mais remapeamentosAs leituras absolutas de fatias de objetos copiam diretamente da vista atual para armazenamento pertencente ao analisador sem alterar o cursor posicional do fluxo; esta não é uma API de ponteiros zero-copy persistente, porque o remapeamento invalida endereços de vistaA origem permanece aberta até o documento carregado ser removido, e a gravação ou a extração diferida podem continuar a lê-laSe

OnPassword estiver atribuído, cada repetição de senha rejeitada recebe um fluxo mapeado e um estado de analisador novos. Use

GetMappedFileInfo para confirmar se o mapeamento está ativo e inspecionar as estatísticas atuais de vista e de leitura