THotPDF.ScrubLoadedRedactionRemnants-Methode

Entfernt nach der Redaktion geladener Dokumente restliche private Daten und unerreichbare Objekte endgültig

Delphi-Syntax

function ScrubLoadedRedactionRemnants(
  out Report: THPDFSanitiseReport): Boolean;

Beschreibung

Die Methode wendet das spRedactionCleanup-Bereinigungsprofil auf den vollständigen geladenen Objektgraphen an

Sie entfernt Redact- und Dateianhang-Annotationen, das Trailer-Document-Information-Dictionary, Catalog- oder Seiten-XMP-Metadaten, private /PieceInfo-Metadaten, Embedded-File-Name-Trees, Associated Files, Portfolios und deren abgetrennte Payload-Streams

Ein zyklossicher Erreichbarkeitslauf löscht anschließend jedes indirekte Objekt, das aus dem Catalog nicht mehr erreichbar ist, einschließlich ungenutzter Fonts, Font-Programme, Bilder, Form XObjects, Metadaten-Streams, Annotationen und Payload-Objekte. Lebende Objektnummern werden in linearer Zeit kompaktiert

Die Methode deaktiviert inkrementelles Speichern und zwingt den nächsten Ladevorgang-Speichern-Aufruf zu einem vollständigen Rewrite, sodass entfernte Bytes nicht in einer früheren Revision überleben können

Unabhängige Actions, Seiteninhalt, Navigation, Formulare und Annotationen bleiben erhalten. Verwenden Sie SanitiseLoadedDocument, wenn auch aktiver Inhalt entfernt werden muss

Bericht

MetadataEntriesRemoved, RedactAnnotationsRemoved, EmbeddedFilesRemoved, PayloadStreamsRemoved, UnreachableObjectsRemoved und PriorRevisionBytesDiscarded liefern Bereinigungs-Telemetrie

Beispiel

var
  Report: THPDFSanitiseReport;
begin
  PDF.LoadFromFile('redacted-source.pdf');
  PDF.ApplyLoadedRedactions;
  if not PDF.ScrubLoadedRedactionRemnants(Report) then
    raise Exception.Create('Redaction cleanup was rejected');
  PDF.SaveLoadedDocument('redacted-final.pdf');
end;

Siehe auch ApplyLoadedRedactions und Bereinigung geladener Dokumente