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 |
|---|---|
| Password | Hasł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 |
| Options | Zero 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
| 0 | Argumenty 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 |
|---|---|
| 1 | Dokument 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