Sanering av inlästa dokument

SanitiseLoadedDocument tillämpar en vald säkerhetsprofil på den fullständiga inlästa objektgrafen och förbereder en kompakt fullständig omskrivning

Profiler

ProfilBorttaget innehåll
spJavaScriptOnlyDokumentets JavaScript-namnträd och JavaScript-åtgärder
spActiveContentJavaScript plus launch, fjärrnavigering, URI, insändning, import, multimedia, rendition, XFA och relaterade poster för aktivt innehåll
spJavaScriptOnlyJavaScript-namnträd och JavaScript-åtgärder i dokumentet
spActiveContentJavaScript plus start, fjär navigering, URI, sändning, import, multimedia, rendition, XFA och relaterade aktivt innehåll-poster
spUntrustedDocumentAllt aktivt innehåll plus inbäddade filer, associerade filer, filbilageannoteringar, strukturer för rich-media-nyttolast och okända åtgärdstyper i åtgärdsbärande fack

Deklaration

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

Överlagringen utan profil använder spUntrustedDocument

Resultatrapport

THPDFSanitiseReport räknar borttagna åtgärder, JavaScript-poster, inbäddade filer, riskfyllda annoteringar, XFA-poster, nyttolastströmmar, lösgjorda referenser, onåbara objekt och besökta objekt

Changed anger om objektgrafen ändrades, medan LimitExceeded och InvalidObjectGraph förklarar ett avvisat förhandskontroll

Säkerhet och prestanda

Exempel

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;

Användningsanteckningar

Relaterade API:er