Sanificazione dei documenti caricati

SanitiseLoadedDocument applica un criterio di sicurezza selezionato al grafo degli oggetti caricato completo e prepara una riscrittura completa compatta

Profili

ProfiloContenuto rimosso
spJavaScriptOnlyName tree JavaScript del documento e azioni JavaScript
spActiveContentJavaScript più voci di lancio, navigazione remota, URI, invio, importazione, multimedia, rendition, XFA e altri contenuti attivi correlati
spUntrustedDocumentTutto il contenuto attivo più i file incorporati, i file associati, le annotazioni di allegato file, le strutture payload rich-media e i tipi di azione sconosciuti trovati negli slot portatori di azioni
spRichMediaOnlyAnnotazioni rich-media e i loro stream payload distaccati
spRedactionCleanupAnnotazioni Redact e di allegato file, informazioni del documento, metadati, file associati e incorporati, e ogni oggetto reso irraggiungibile da quelle rimozioni

Dichiarazione

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

L'overload senza profilo utilizza spUntrustedDocument

Rapporto dei risultati

THPDFSanitiseReport conta le azioni rimosse, le voci JavaScript, i file incorporati, le annotazioni a rischio, le voci XFA, i flussi di payload, i riferimenti scollegati, gli oggetti non raggiungibili e gli oggetti visitati

Changed indica se il grafo degli oggetti è cambiato, mentre LimitExceeded e InvalidObjectGraph spiegano un preflight rifiutato

Sicurezza e prestazioni

Esempio

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;

Note d'uso

API correlate