LoadFromMappedFile

Gestion de documents, performances, entrée fichier

Description

Charge et sélectionne un PDF local via une vue mappée bornée en lecture seule, permettant aux lectures différées d'objets et de flux volumineux de réutiliser les pages de fichier du système d'exploitation sans conserver la source complète en mémoire

Syntaxe

Delphi

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

Paramètres

FileNameLe chemin du PDF local
PasswordLe mot de passe utilisé pour ouvrir le PDF, ou une chaîne vide pour un document non chiffré
WindowSizeLa taille de vue mappée demandée en octets ; zéro sélectionne 64 MiB, les valeurs inférieures à la granularité d'allocation du système d'exploitation sont ramenées à cette granularité et les valeurs supérieures à 1 GiB sont plafonnées
OptionsZéro autorise un repli vers un flux de fichier en lecture seule, tandis que PDF_MAPPED_FILE_REQUIRE_MAPPING échoue sauf si une vue mappée est active

Valeurs de retour

0Les arguments étaient invalides, le fichier n'a pas pu être ouvert, le mappage requis était indisponible ou le PDF n'a pas pu être chargé ; inspectez LastErrorCode
1Le document a été chargé et sélectionné

Remarques

Les versions Windows conservent une vue en lecture seule et la remappent à la demande aux frontières de granularité d'allocation ; les autres plateformes et les échecs de mappage utilisent le même contrat de lecture absolue sur un flux de fichier normal en lecture seule, sauf si le mappage est requis

Les 64 MiB par défaut de vue bornent l'utilisation de l'espace d'adressage indépendamment de la taille de la source et conviennent à un accès épars de grands fichiers locaux ; une vue plus petite peut réduire l'espace d'adressage résident au prix de plus de remappages

Les lectures absolues de tranches d'objet copient directement de la vue actuelle vers le stockage détenu par l'analyseur sans changer le curseur positionnel du flux ; ce n'est pas une API persistante de pointeur sans copie car le remappage invalide les adresses de la vue

La source reste ouverte jusqu'à la suppression du document chargé, et l'enregistrement ou l'extraction différée peuvent continuer à la lire

OnPassword est affecté, chaque nouvelle tentative de mot de passe refusé reçoit un flux mappé et un état d'analyseur neufsUtilisez

GetMappedFileInfo pour confirmer si le mappage est actif et inspecter les statistiques courantes de vue et de lecture