PDFium Delphi Component Docs

SaveAsSanitised yöntemi

Component: TPdf  ·  Unit: PDFium
Sınırlı katalog ve trailer güncellemeleriyle temiz tek revizyonluk bir kopya yazar, ardından erişilemeyen nesneleri budayarak öksüz JavaScript, eylem, ek ve üst veri gövdelerinin dosya gövdesinden kaybolmasını sağlar

Syntax

function SaveAsSanitised(Stream: TStream;
  const Options: TPdfSanitiseOptions;
  out Report: TPdfSanitiseReport): Boolean; overload;

function SaveAsSanitised(const FileName: string;
  const Options: TPdfSanitiseOptions;
  out Report: TPdfSanitiseReport): Boolean; overload;

Description

SaveAsSanitised, belge kataloğundan etkin içerik vektörlerini kaldıran ve ardından dosya gövdesindeki öksüz nesneleri elemek için isteğe bağlı bir erişilebilirlik budaması çalıştıran temizlenmiş tek revizyonluk bir PDF kopyası üretir

İki aşamalı hat, önce katalog girdilerini (/OpenAction, /AA, /Names, /AF, /AcroForm, /Metadata) bir artımlı güncelleme olarak StripDictionaryEntries ile ayıklar, sonra dosyayı tek bir temiz klasik revizyon olarak yeniden yazmak için PruneUnreachablePdfStream çalıştırır

Katalog ve trailer güncellemesi, kaydedilen eksiksiz PDF'yi tek bir bayt dizisinde somutlaştırmak yerine, normal xref yolunda seyrek xref araması, 1 MiB'den büyük olmayan ayrıştırıcı pencereleri ve 64 KiB'lik aralık kopyalama kullanır

Budama etkinken ara çalışma alanı, SaveMemoryLimit ve SaveTemporaryDirectory ile yönetilen bir TPdfRandomAccessStore olur En yüksek belleği ve taşma durumu, LastSaveLargestMemoryBuffer ve LastSaveSpillCount içinde yer alır

Her ayıklama bayrağı bağımsızdır TPdfSanitiseOptions.Default tam güvenlik profilini etkinleştirir: StripOpenAction, StripCatalogActions, StripNames, StripAssociatedFiles ve ayrıca RemoveUnreachable budaması. StripAcroForm ile StripMetadata, çağıranların korumak isteyebileceği form alanlarını ve üst veriyi kaldırdığı için varsayılan olarak False değerindedir

RemoveUnreachable=True olduğunda çıktı her zaman artımlı geçmişi olmayan tek bir revizyondur

Parameters

Remarks

Example

var
  Options: TPdfSanitiseOptions;
  Report: TPdfSanitiseReport;
begin
  Pdf1.FileName := 'C:\Untrusted.pdf';
  Pdf1.Active := True;
  Options := TPdfSanitiseOptions.Default;
  Pdf1.SaveAsSanitised('C:\Sanitised.pdf', Options, Report);
end;

See Also

SaveAsReachable, SaveAs, AuditActiveContent