PDFium Delphi Component Docs

FPdfIccProfile-enhet

Unit: FPdfIccProfile
Avgränsad inspektion av ICC-profilhuvud och taggtabell för standardvalidering och produktionsbevis

Syntax

TPdfIccProfileLimits = record
  MaxProfileBytes: Int64;
  MaxTagCount: Integer;
  class function Default: TPdfIccProfileLimits; static;
end;

TPdfIccProfileIssue = (ipiTooLarge, ipiHeaderTruncated, ipiSizeMismatch, ipiSignatureInvalid, ipiUnsupportedColorSpace, ipiTagCountExceeded, ipiTagTableTruncated, ipiTagDataOutOfBounds);
TPdfIccProfileIssues = set of TPdfIccProfileIssue;

TPdfIccProfileInfo = record
  Issues: TPdfIccProfileIssues;
  ByteSize: Int64;
  DeclaredSize: Int64;
  Version: string;
  VersionBytes: AnsiString;
  DeviceClass: string;
  DataColorSpace: string;
  DataColorSpaceSignature: AnsiString;
  Pcs: string;
  ComponentCount: Integer;
  TagCount: Integer;
  Md5: string;
  Sha256: string;
  ProfileId: string;
  ProfileDescription: string;
  function IsValid: Boolean;
end;

function InspectPdfIccProfile(const Data: TBytes): TPdfIccProfileInfo;
function InspectPdfIccProfile(const Data: TBytes;
  const Limits: TPdfIccProfileLimits): TPdfIccProfileInfo;
function PdfIccProfileDescriptionMatches(const Data: TBytes;
  const Expected: string): Boolean;

Description

InspectPdfIccProfile validerar det 128 bytes stora huvudet, den deklarerade filstorleken, acsp-signaturen, komponentantalet för färgrymden, det avgränsade taggantalet, taggtabellens utsträckning och vart och ett av taggdataintervallen innan metadata exponeras

Resultatet innehåller råa fyra-bytes-version- och färgrymdssignaturer, visningsvärden, komponent- och taggantal, profil-ID, MD5 av hela filen, SHA-256, device class, PCS och den första giltiga profilbeskrivningen

Signaturerna GRAY, RGB, CMYK och 2CLR till FCLR känns igen av den allmänna inspektorn; formatspecifika validerare kan tillämpa en snävare policy för processfärger

PdfIccProfileDescriptionMatches kontrollerar v2 desc-värdet eller varenda avgränsad locale-post i en v4 mluc profileDescriptionTag

Limits

LimitDefaultPurpose
MaxProfileBytes64 MiBStoppar tolkning och hashning av överdimensionerade profiler
MaxTagCount4096Begränsar genomlöpet av taggtabellen

Remarks

See Also

FPdfPdfvtMime