LoadFromMappedFile

Zarządzanie dokumentami, wydajność, wejście z pliku

Opis

Wczytuje i wybiera lokalny PDF poprzez ograniczony mapowany widok tylko do odczytu, pozwalając dużym odroczonym odczytom obiektów i strumieni ponownie używać stron plików systemu operacyjnego bez trzymania całego źródła w pamięci

Składnia

Delphi

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

Parametry

FileNameŚcieżka lokalnego pliku PDF
PasswordHasło użyte do otwarcia PDF albo pusty łańcuch dla dokumentu nieszyfrowanego
WindowSizeŻądany rozmiar mapowanego widoku w bajtach; zero wybiera 64 MiB, wartości poniżej ziarnistości alokacji systemu operacyjnego są podnoszone do tej ziarnistości, a wartości powyżej 1 GiB są ograniczane
OptionsZero zezwala na rozwiązanie zapasowe strumienia plikowego tylko do odczytu, podczas gdy PDF_MAPPED_FILE_REQUIRE_MAPPING zawodzi, chyba że aktywny jest mapowany widok

Wartości zwracane

0Argumenty były nieprawidłowe, nie udało się otworzyć pliku, wymagane mapowanie było niedostępne albo nie udało się wczytać PDF; sprawdź LastErrorCode
1Dokument został wczytany i wybrany

Uwagi

Kompilacje Windows zatrzymują jeden widok tylko do odczytu i remapują go na żądanie na granicach granularności alokacji; inne platformy i niepowodzenia mapowania używają tej samej umowy odczytu absolutnego na zwykłym strumieniu pliku tylko do odczytu, o ile mapowanie nie jest wymagane

Domyślny widok 64 MiB ogranicza użycie przestrzeni adresowej niezależnie od rozmiaru źródła i nadaje się do rzadkiego dostępu do dużych plików lokalnych; mniejszy widok może zmniejszyć rezydentną przestrzeń adresową kosztem większej liczby remapowań

Absolutne odczyty wycinków obiektów kopiują wprost z bieżącego widoku do magazynu własności parsera bez zmiany pozycyjnego kursora strumienia; to nie jest API trwałych wskaźników zero-copy, bo remapowanie unieważnia adresy widoku

Źródło pozostaje otwarte do usunięcia wczytanego dokumentu, a zapis albo odroczona ekstrakcja mogą dalej je czytać

Jeśli OnPassword jest przypisane, każde odrzucone ponowienie hasła otrzymuje świeży zmapowany strumień i stan parsera

Użyj GetMappedFileInfo, by potwierdzić, czy mapowanie jest aktywne, i obejrzeć bieżące statystyki widoku i odczytów