PDFium Delphi Component Docs

SaveAsRedacted yöntemi

Component: TPdf  ·  Unit: PDFium
PDF redaksiyon açıklamalarını yalıtılmış bir anlık görüntüye uygular ve yüklenen belgeyi değiştirmeden temiz tek revizyonluk bir sonuç yazar

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;

Description

SaveAsRedacted, geçerli belgeyi yalıtılmış bir rastgele erişimli anlık görüntüye yakalar, bu anlık görüntüyü ayrı bir TPdf olarak açar ve her /Redact ek açıklama dikdörtgenini işler

Varsayılan seçenekler, desteklenen güvenli geometriyi korumak için hem PreservePartialObjects hem de PreserveComplexObjects seçeneklerini etkinleştirir; bu sınırlı profil metni saklanan karakter parçalarından yeniden oluşturur, dolgulu yolları kırpar ve affine görüntülerde kesişen pikselleri temizler

Herhangi bir redaksiyon açıklaması varsa, ayrıntılı profil redaksiyonları uygulamadan önce redakte edilmemiş sayfalar dahil her sayfadaki her Form XObject örneğini genişletir; örnek dönüşümleri birleştirilir ve özgün paylaşılan Form akışları daha sonra kaynak budama ile kaldırılabilir

Tüm kesişen nesneleri kaldırmak için PreservePartialObjects := False yapın ya da etkin bırakıp daha basit metin, eksene hizalı dikdörtgen ve eksene hizalı görüntü parçalama profilini kullanmak için PreserveComplexObjects := False yapın; kaynak güvenlik denetimleri üç profilin tümü için geçerlidir

Yöntem tüm redaksiyon açıklamalarını kaldırır, isteğe bağlı olarak diğer kesişen ek açıklamaları kaldırır, redakte edilmiş sayfalardaki dosya eki ek açıklamalarını kaldırır, yerel gömülü ekleri siler ve katalog /AF, etkin içerik, formlar, üst veri ve erişilemeyen nesneler ayıklanmış olarak temizlenmiş yeniden yazmayı çalıştırır

Sayfa içeriği yeniden oluşturulduktan sonra, hassas kaynak budama sayfa, Form XObject, desen, görünüm, kalıtsal ve iç içe kaynak kapsamlarını tarar ve erişilemeyen nesneler atılmadan önce yalnızca kullanılmayan adları kaldırır

Çıktı, önceki belge revizyonları olmadan tek bir temiz revizyona sahiptir; yüklenen kaynak belge ise değişmeden kalır. Desteklenmeyen kaynak semantiği ya da desteklenmeyen ayrıntılı geometri, kısmen redakte edilmiş bir sonuç üretmek yerine işlemi iptal eder

Options

Yukarıdaki Form, yol, görüntü, geometri ve tolerans seçenekleri ayrıntılı profil tarafından doğrulanır ve kullanılır; bağımsız kaynak inceleme bütçelerini yükseltmezler

Report

TPdfRedactionReport; RedactionCount, RedactedPageCount, ScannedObjectCount, RemovedObjectCount, RemovedAnnotationCount, RemovedAttachmentCount, OverlayCount, SplitTextObjectCount, SplitPathObjectCount, SplitImageObjectCount, PreservedFragmentCount, bayt sayılarını, iç içe SanitiseReport ve ResourcePruneReport değerlerini, Succeeded ve ErrorMessage alanlarını döndürür

Ayrıntılı iş; ExpandedFormCount, ScannedFormChildCount, FlattenedCurveCount, GeneratedPathPointCount, MaskedImageCount, ScannedImagePixelCount, MaskedImagePixelCount, PixelIntersectionTestCount ve GeometryOperationCount alanlarını ekler; CurveTolerancePdfPoints başarılı işlemeden sonra yapılandırılmış toleransı kaydeder

ScannedFormChildCount, genişletme sırasında ziyaret edilen yerel nesneleri — kök Form örnekleri dahil — sayar ve GeneratedPathPointCount, düzleştirilmiş eğri noktalarının yanı sıra ara kırpma noktalarını da içerir

MaskedImagePixelCount, tam renk ve alfa örnekleri temizlenen pikselleri sayarken PreservedFragmentCount, tek tek korunan pikseller ya da çokgen konturlar yerine değiştirme nesnelerini sayar; başarısızlık durumundaki işlem sayaçları kısmi olabilir ve işlenmiş bir çıktı anlamına gelmez

Security boundary

Example

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;

See Also

SaveAsSanitised, SaveAsReachable, CreateAnnotation, FPdfRedaction geometri yardımcıları