LoadFromMappedFile

Gestionarea documentelor, performanță, intrare din fișier

Descriere

Încarcă și selectează un PDF local printr-o vizualizare mapată, doar pentru citire și mărginită, permițând citirile mari amânate de obiecte și de fluxuri să reutilizeze paginile de fișier ale sistemului de operare, fără a reține sursa completă în memorie

Sintaxă

Delphi

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

Parametri

FileNameCalea PDF-ului local
PasswordParola folosită pentru deschiderea PDF-ului, sau un șir gol pentru un document necriptat
WindowSizeDimensiunea cerută a vizualizării mapate, în octeți; zero selectează 64 MiB, valorile sub granularitatea de alocare a sistemului de operare sunt ridicate la acea granularitate, iar valorile peste 1 GiB sunt plafonate
OptionsZero permite o rezervă de flux de fișier doar pentru citire, în timp ce PDF_MAPPED_FILE_REQUIRE_MAPPING eșuează dacă nu este activă o vizualizare mapată

Valori returnate

0Argumentele au fost invalide, fișierul nu a putut fi deschis, maparea cerută nu a fost disponibilă sau PDF-ul nu a putut fi încărcat; examinați LastErrorCode
1Documentul a fost încărcat și selectat

Observații

Construirele Windows rețin o singură vizualizare doar pentru citire și o remapează la cerere, la frontiere de granularitate de alocare; celelalte platforme și eșecurile de mapare folosesc același contract de citire absolută peste un flux de fișier normal doar pentru citire, dacă maparea nu este cerutăVizualizarea implicită de 64 MiB mărginește utilizarea spațiului de adrese independent de dimensiunea sursei și este potrivită pentru acces dispers la fișiere locale mari; o vizualizare mai mică poate reduce spațiul de adrese rezident, cu costul mai multor remapăriCitirile absolute de felii de obiect copiază direct din vizualizarea curentă în stocarea deținută de analizator, fără a modifica cursorul pozițional al fluxului; acesta nu este un API persistent de pointer fără copiere, deoarece remaparea invalidează adresele vizualizăriiSursa rămâne deschisă până când documentul încărcat este eliminat, iar salvarea sau extragerea amânată pot continua să o citeascăDacă

OnPassword este atribuit, fiecare reîncercare de parolă respinsă primește un flux mapat și o stare de analizor noiFolosiți

GetMappedFileInfo pentru a confirma dacă maparea este activă și pentru a examina statisticile curente ale vizualizării și ale citirilor