LoadFromMappedFile

Quản lý tài liệu, Hiệu năng, Đầu vào tệp

Mô tả

Nạp và chọn một PDF cục bộ thông qua một khung nhìn ánh xạ chỉ đọc có giới hạn, cho phép các lần đọc đối tượng và stream hoãn lớn tái sử dụng các trang tệp của hệ điều hành mà không giữ toàn bộ nguồn trong bộ nhớ

Cú pháp

Delphi

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

Tham số

FileNameĐường dẫn của PDF cục bộ
PasswordMật khẩu dùng để mở PDF, hoặc chuỗi rỗng cho tài liệu không mã hóa
WindowSizeKích thước khung nhìn ánh xạ yêu cầu tính bằng byte; số 0 chọn 64 MiB, các giá trị dưới độ chi tiết cấp phát của hệ điều hành được nâng lên mức đó và các giá trị trên 1 GiB bị giới hạn
OptionsSố 0 cho phép phương án dự phòng file-stream chỉ đọc, còn PDF_MAPPED_FILE_REQUIRE_MAPPING thất bại trừ khi một khung nhìn ánh xạ đang hoạt động

Giá trị trả về

0Các đối số không hợp lệ, không thể mở tệp, ánh xạ bắt buộc không khả dụng hoặc không thể nạp PDF; hãy kiểm tra LastErrorCode
1Tài liệu đã được nạp và chọn

Ghi chú

Các bản dựng Windows giữ một khung nhìn chỉ đọc và ánh xạ lại theo nhu cầu tại các ranh giới độ chi tiết cấp phát; các nền tảng khác và các lần ánh xạ thất bại dùng cùng hợp đồng đọc tuyệt đối qua một file stream chỉ đọc thông thường trừ khi ánh xạ là bắt buộcKhung nhìn 64 MiB mặc định giới hạn việc dùng không gian địa chỉ độc lập với kích thước nguồn và phù hợp cho truy cập rời rạc các tệp cục bộ lớn; một khung nhìn nhỏ hơn có thể giảm không gian địa chỉ thường trú với cái giá là nhiều lần ánh xạ lại hơnCác lần đọc lát đối tượng tuyệt đối sao chép trực tiếp từ khung nhìn hiện tại vào bộ lưu trữ của bộ phân tích mà không thay đổi con trỏ luồng định vị; đây không phải là một API con trỏ zero-copy bền vững vì việc ánh xạ lại làm các địa chỉ khung nhìn mất hiệu lựcNguồn vẫn mở cho đến khi tài liệu đã nạp bị gỡ bỏ, và việc lưu hay trích xuất hoãn có thể tiếp tục đọc nóNếu

view bounds mặc định 64 MiB định địa chỉ bộ nhớ độc lập với kích thước nguồn và hợp cho truy cập thưa tới file lớn cục bộ; view nhỏ hơn giảm bộ nhớ thường trú nhưng đánh đổi nhiều lần remap

Đọc object slice tuyệt đối sao chép trực tiếp từ view hiện tại vào bộ lưu của parser mà không đổi cursor dòng của stream; đây không phải API zero-copy bền vững vì việc remap làm mất hiệu lực địa chỉ view

Nguồn còn mở cho đến khi tài liệu đã tải bị gỡ, và việc lưu hay trích xuất hoãn có thể tiếp tục đọc nó

OnPassword được gán, mỗi lần thử lại mật khẩu bị từ chối sẽ nhận một stream ánh xạ và trạng thái bộ phân tích mớiDùng

GetMappedFileInfo để xác nhận ánh xạ có đang hoạt động hay không và xem thống kê khung nhìn cùng số lần đọc hiện tại