PDFium Delphi Component Docs

Sınırlı karartma geometrisi yardımcıları

FPdfRedaction, TPdf.SaveAsRedacted tarafından kullanılan ihtiyatlı kaynak incelemesini ve geometri işlemlerini sağlar; üst düzey yöntem, işlemi, açıklama işlemeyi, opak bindirmeleri, içerik yeniden üretimini, temizliği ve kaynak budamayı sağlar

Yardımcılar, çağıranın izole işlem kopyasındaki yerel nesneleri değiştirir ve desteklenmeyen geometri veya tükenen bütçelerde EPdfRedactionGeometry fırlatır; tek başlarına eksiksiz güvenli bir dışa aktarım yapmazlar

Public declarations

type
  EPdfRedactionGeometry = class(Exception);
  TPdfRedactionGeometryOptions = record
    MaxFormDepth, MaxObjects, MaxPathSegments, MaxFragments: Integer;
    MaxImagePixels, MaxGeometryOperations: Int64;
    CurveTolerance: Double;
    class function Default: TPdfRedactionGeometryOptions; static;
  end;
  TPdfRedactionGeometryReport = record
    ExpandedFormCount, ScannedChildCount, ClippedPathCount: Integer;
    FlattenedCurveCount, GeneratedPointCount, FragmentCount: Integer;
    MaskedImageCount: Integer;
    ScannedPixelCount, MaskedPixelCount, PixelIntersectionTestCount: Int64;
    GeometryOperationCount: Int64;
  end;

procedure ValidateDetailedRedactionSource(Source: TStream);
procedure ValidateDetailedRedactionText(PageObject: FPDF_PAGEOBJECT);
procedure ExpandRedactionForms(Page: FPDF_PAGE;
  const Options: TPdfRedactionGeometryOptions;
  var Report: TPdfRedactionGeometryReport);
procedure ClipRedactionPath(Page: FPDF_PAGE; PageObject: FPDF_PAGEOBJECT;
  ObjectIndex: Integer; const Redactions: array of FS_RECTF;
  const Options: TPdfRedactionGeometryOptions;
  var Report: TPdfRedactionGeometryReport);
procedure MaskRedactionImage(Document: FPDF_DOCUMENT; Page: FPDF_PAGE;
  PageObject: FPDF_PAGEOBJECT; ObjectIndex: Integer;
  const Redactions: array of FS_RECTF;
  const Options: TPdfRedactionGeometryOptions;
  var Report: TPdfRedactionGeometryReport);

Coordinates and supported geometry

Tüm karartma dikdörtgenleri ve eğri toleransları PDF kullanıcı uzayı puanlarını kullanır; yol noktaları kırpma öncesinde sayfa uzayına dönüştürülür ve ObjectIndex, boyama sırasını korumak için kullanılan özgün sıfır tabanlı yerel sayfa nesnesi dizinidir

Genişletme ve kısmi geometri, saydamlık veya harman durumlarını, desteklenmeyen alt türleri, tekillik içeren matrisleri, desenli dolguları ile karmaşık veya artıklığı olmayan kırpma yollarını reddeder; desteklenen artıklıklı dikdörtgen kırpma, nesnenin eksiksiz sınırlarını içermelidir

Options and cumulative report

OptionDefaultMeaning
MaxFormDepth32Nested Form expansion depth
MaxObjects1000000Page enumeration and cumulative expanded child limits
MaxPathSegments262144Input segments per path and cumulative generated path points
MaxFragments1000000Retained rectangle regions and cumulative replacement fragments
MaxImagePixels16777216Cumulative decoded image pixels processed
MaxGeometryOperations67108864Cumulative geometry and pixel intersection work
CurveTolerance0.01Cubic flattening tolerance in PDF points

Seçenekleri TPdfRedactionGeometryOptions.Default ile başlatın ve işlemden önce raporu bir kez sıfırlayın; üretilen noktaların, görüntü piksellerinin, parçaların ve işlem bütçelerinin birikmesi için yardımcı çağrıları boyunca aynı raporu tutun

ExpandedFormCount ve ScannedChildCount genişletmeyi tanımlar; ziyaret edilen sayı, alt öğelerin yanı sıra kök Form örneklerini de içerir; ClippedPathCount, FlattenedCurveCount ve GeneratedPointCount, ara kırpma noktaları dahil yol işini; MaskedImageCount, ScannedPixelCount, MaskedPixelCount ve PixelIntersectionTestCount görüntü işini tanımlar

FragmentCount, çokgen konturlarını veya pikselleri değil değiştirme nesnelerini sayar ve GeometryOperationCount sınırlı yardımcı işini biriktirir; bir özel durum tarafından bırakılan rapor, atılan işlem kopyasındaki kısmi işi tanımlayabilir

Source inspection and export boundary

ValidateDetailedRedactionSource, değişiklikten önce aktif nesneleri ve çözülmüş içeriği inceler; TPdf.SaveAsRedacted, tüm nesne kaldırma ve daha basit kısmi profil dahil her profil için onu çağırır

Mevcut profil Tagged PDF yapısını yeniden kurmaz, rastgele saydamlığı korumaz, rastgele konturları veya kırpmayı desteklemez ya da kayıpsız kodlanmış görüntü korunumu vaat etmez; güvenli çıktı, yeniden üretimden sonra özgün akışların ve kullanılmayan kaynakların kaldırılmasını gerektirir; bunu TPdf.SaveAsRedacted yapar

Doğrudan çağırıcılar izole bir belge kopyası sağlamalı, yerel yetenekleri ve sınırlı pozitif bütçeleri doğrulamalı, başarısızlıkta kopyayı atmalı, değiştirilen sayfa içeriğini yeniden üretmeli ve dışa aktarmadan önce temizliği ile kaynak budamayı tamamlamalıdır

See Also

TPdf.SaveAsRedacted, TPdf.SaveAsSanitised, FPdfCompress