Loaded Document Sanitisation

SanitiseLoadedDocument anvender en valgt sikkerhedspolitik på hele den indlæste objektgraf og forbereder en kompakt fuld omskrivning

Profiles

ProfileRemoved content
spJavaScriptOnlyDocument JavaScript name trees and JavaScript actions
spActiveContentJavaScript plus launch, fjernnavigation, URI, indsendelse, import, multimedie, rendition, XFA og relaterede aktive indholds-entries
spUntrustedDocumentAlt aktivt indhold plus indlejrede filer, tilknyttede filer, fil-attachment-annotationer, rich-media-payload-strukturer og ukendte actiontyper fundet i action-bærende pladser
spRichMediaOnlyRich-media-annotationer og deres løsrevne payload-streams
spRedactionCleanupRedact- og fil-attachment-annotationer, dokumentinformation, metadata, tilknyttede og indlejrede filer og hvert objekt, som disse fjernelser gør utilgængeligt

Deklaration

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

The overload without a profile uses spUntrustedDocument

Result report

THPDFSanitiseReport tæller fjernede actions, JavaScript-entries, indlejrede filer, risikable annotationer, XFA-entries, payload-streams, løsrevne referencer, utilgængelige objekter, metadata-entries, Redact-annotationer, kasserede bytes fra tidligere revisioner og besøgte objekter

Changed angiver, om objektgrafen ændrede sig, mens LimitExceeded and InvalidObjectGraph explain a rejected preflight

Safety and performance

Eksempel

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;

Brugsnoter

Relaterede API'er