LoadFromMappedFile

Керування документами, продуктивність, введення з файлів

Опис

Завантажує та вибирає локальний PDF через обмежене відображення лише для читання, дозволяючи великим відкладеним читанням об'єктів і потоків використовувати знову файлові сторінки операційної системи без утримання повного джерела в пам'яті

Синтаксис

Delphi

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

Параметри

FileNameШлях локального PDF
PasswordПароль для відкриття PDF або порожній рядок для незашифрованого документа
WindowSizeЗапитуваний розмір відображення в байтах; нуль обирає 64 МіБ, значення менші за гранулярність виділення операційної системи підіймаються до цієї гранулярності, а значення понад 1 ГіБ обмежуються
OptionsНуль дозволяє резервний файловий потік лише для читання, тоді як PDF_MAPPED_FILE_REQUIRE_MAPPING зазнає невдачі, якщо активного відображення немає

Повернуті значення

0Аргументи були недійсними, файл не вдалося відкрити, потрібне відображення було недоступне або PDF не вдалося завантажити; перевірте LastErrorCode
1Документ завантажено та вибрано

Примітки

Збірки Windows утримують одне відображення лише для читання та перебудовують його за запитом на межах гранулярності виділення; інші платформи та невдачі відображення використовують той самий контракт абсолютних читань через звичайний файловий потік лише для читання, якщо відображення не вимагаєтьсяТипове відображення 64 МіБ обмежує використання адресного простору незалежно від розміру джерела і підходить для розрідженого доступу до великих локальних файлів; менше відображення може зменшити резидентний адресний простір ціною більшої кількості перебудовАбсолютні читання зрізів об'єктів копіюють безпосередньо з поточного відображення у сховище, що належить парсеру, не змінюючи позиційний курсор потоку; це не постійний API нульового копіювання вказівників, бо перебудова робить адреси відображення недійснимиДжерело залишається відкритим, доки завантажений документ не буде вилучено, і збереження чи відкладене витягування можуть продовжувати його читатиЯкщо призначено

Типовий перегляд у 64 MiB обмежує використання адресного простору незалежно від розміру джерела й пасує для рідкого доступу до великих локальних файлів; менший перегляд може зменшити резидентний адресний простір ціною більшої кількості перемапувань

Абсолютні читання зрізів об'єктів копіюють безпосередньо з поточного перегляду у сховище у власності парсера, не зсуваючи позиційний курсор потоку; це не API сталого вказівника з нульовим копіюванням, бо перемаповування робить адреси перегляду недійсними

Типовий перегляд у 64 MiB обмежує використання адресного простору незалежно від розміру джерела й пасує для рідкого доступу до великих локальних файлів; менший перегляд може зменшити резидентний адресний простір ціною більшої кількості перемапувань

OnPassword, кожна відхилена спроба пароля отримує свіже відображення потоку та стан парсераВикористовуйте

GetMappedFileInfo, щоб підтвердити, чи відображення активне, і переглянути поточну статистику відображень і читань