PDFium Delphi Component Docs

Methode SaveAsRedacted

Komponente: TPdf  ·  Unit: PDFium
Wendet PDF-Redaction-Annotationen auf einen isolierten Snapshot an und schreibt ein sauberes Ein-Revisions-Ergebnis, ohne das geladene Dokument zu verändern

Syntax

function SaveAsRedacted(Stream: TStream;
  const Options: TPdfRedactionOptions;
  out Report: TPdfRedactionReport): Boolean; overload;

function SaveAsRedacted(const FileName: string;
  const Options: TPdfRedactionOptions;
  out Report: TPdfRedactionReport): Boolean; overload;

Beschreibung

SaveAsRedacted erfasst das aktuelle Dokument in einem isolierten Random-Access-Snapshot, öffnet diesen Snapshot als separates TPdf und verarbeitet jedes /Redact-Annotationsrechteck

Standardmäßig aktivieren die Optionen PreservePartialObjects und PreserveComplexObjects für unterstützte sichere Geometrie; das begrenzte Profil rekonstruiert Text aus erhaltenen Zeichenfragmenten, clippt einfarbig gefüllte Pfade und löscht getroffene Pixel affiner Bilder

Sobald eine Schwärzungsannotation existiert, expandiert das detaillierte Profil jede Form-XObject-Instanz auf jeder Seite, auch ungeschwärzten; Instanztransformationen werden kombiniert und ursprüngliche gemeinsame Formstreams anschließend über Ressourcenbereinigung entfernbar

PreservePartialObjects := False entfernt ganze getroffene Objekte; mit aktiviertem Teilerhalt und PreserveComplexObjects := False verwenden Sie das einfachere Text-/achsenparallele Rechteck-/Bildfragmentierungsprofil; Quellsicherheitsprüfungen gelten für alle drei

Die Methode entfernt alle Schwärzungsannotationen, optional andere getroffene Annotationen, Dateiattachments auf geschwärzten Seiten und native eingebettete Anhänge; die bereinigte Neuschreibung entfernt Katalog-/AF, aktive Inhalte, Formulare, Metadaten und unerreichbare Objekte

Nach dem Neuaufbau des Seiteninhalts durchsucht ein präzises Ressourcen-Ausdünnen Seiten-, Form-XObject-, Pattern-, Appearance-, geerbte und verschachtelte Ressourcenbereiche und entfernt nur ungenutzte Namen, bevor nicht erreichbare Objekte verworfen werden

Die Ausgabe hat eine saubere Revision ohne frühere Revisionen; das geladene Quelldokument bleibt unverändert; nicht unterstützte Quellsemantik oder detaillierte Geometrie bricht ab, statt nur teilweise geschwärzte Ausgabe zu liefern

Optionen

Diese Form-, Pfad-, Bild-, Geometrie- und Toleranzoptionen werden für das detaillierte Profil geprüft und genutzt; sie erhöhen keine unabhängigen Quellprüfbudgets

Bericht

TPdfRedactionReport liefert RedactionCount, RedactedPageCount, ScannedObjectCount, RemovedObjectCount, RemovedAnnotationCount, RemovedAttachmentCount, OverlayCount, SplitTextObjectCount, SplitPathObjectCount, SplitImageObjectCount, PreservedFragmentCount, die Byte-Zählungen, die verschachtelten SanitiseReport- und ResourcePruneReport-Berichte, Succeeded und ErrorMessage

Detaillierte Verarbeitung ergänzt ExpandedFormCount, ScannedFormChildCount, FlattenedCurveCount, GeneratedPathPointCount, MaskedImageCount, ScannedImagePixelCount, MaskedImagePixelCount, PixelIntersectionTestCount und GeometryOperationCount; CurveTolerancePdfPoints erfasst die konfigurierte Toleranz nach Erfolg

ScannedFormChildCount zählt besuchte native Objekte einschließlich Wurzel-Forminstanzen; GeneratedPathPointCount enthält Clippingzwischenpunkte und abgeflachte Kurvenpunkte

MaskedImagePixelCount zählt vollständig gelöschte Farb-/Alphasamples; PreservedFragmentCount zählt Ersatzobjekte, keine einzelnen Pixel oder Konturen; Fehlerzähler können partiell sein und beweisen keinen Commit

Sicherheitsgrenze

Beispiel

var
  Options: TPdfRedactionOptions;
  Report: TPdfRedactionReport;
begin
  Options := TPdfRedactionOptions.Default;
  Options.FillColor := clBlack;
  if not Pdf1.SaveAsRedacted('C:\redacted.pdf', Options, Report) then
    raise Exception.Create(Report.ErrorMessage);
end;

Siehe auch

SaveAsSanitised, SaveAsReachable, CreateAnnotation, FPdfRedaction-Geometrie-Helper