Loaded Document Sanitisation

SanitiseLoadedDocument áp dụng một chính sách bảo mật đã chọn lên toàn bộ object graph đã nạp và chuẩn bị một lần ghi lại đầy đủ gọn

Các profile

ProfileRemoved content
spJavaScriptOnlyName tree JavaScript của tài liệu và các JavaScript action
spActiveContentJavaScript cùng các mục nội dung chủ động launch, điều hướng từ xa, URI, submit, nhập, đa phương tiện, rendition, XFA và liên quan
spUntrustedDocumentToàn bộ nội dung chủ động cùng tệp nhúng, tệp liên kết, annotation đính kèm tệp, cấu trúc payload rich-media và các kiểu action lạ tìm thấy trong các slot chứa action
spRichMediaOnlyCác annotation rich-media cùng các stream payload tách rời của chúng
spRedactionCleanupCác annotation redaction và đính kèm tệp, thông tin tài liệu, metadata, tệp liên kết và nhúng, cùng mọi đối tượng trở nên không thể với tới do các phép gỡ bỏ đó

Khai báo

function SanitiseLoadedDocument(Profile: THPDFSanitiseProfile;
  out Report: THPDFSanitiseReport): Boolean; overload;
function SanitiseLoadedDocument(
  out Report: THPDFSanitiseReport): Boolean; overload;

Overload không có profile dùng spUntrustedDocument

Báo cáo kết quả

THPDFSanitiseReport đếm các action đã loại bỏ, mục JavaScript, tệp nhúng, annotation rủi ro, mục XFA, luồng payload, tham chiếu đã tách, object không thể truy cập, và object đã thăm

Changed cho biết object graph có thay đổi hay không, trong khi LimitExceeded và InvalidObjectGraph giải thích một preflight bị từ chối

An toàn và hiệu năng

Ví dụ

var
  Report: THPDFSanitiseReport;
begin
  PDF.LoadFromFile('untrusted.pdf');
  if not PDF.SanitiseLoadedDocument(spUntrustedDocument, Report) then
    raise Exception.Create('Document sanitisation was rejected');
  PDF.SaveLoadedDocument('sanitised.pdf');
end;

Ghi chú sử dụng

API liên quan