PDFium Component Docs

FPdfIccProfile Moduł

Unit: FPdfIccProfile
Ograniczona inspekcja nagłówka i tablicy tagów profilu ICC dla walidacji standardów i dowodów produkcyjnych

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 waliduje 128-bajtowy nagłówek, zadeklarowany rozmiar pliku, podpis acsp, liczbę komponentów przestrzeni kolorów, ograniczoną liczbę tagów, zakres tablicy tagów i każdy zakres danych tagów, zanim ujawni metadane

Wynik obejmuje surowe czterobajtowe podpisy wersji i przestrzeni kolorów, wartości wyświetlane, liczniki komponentów i tagów, identyfikator profilu, MD5 całego pliku, SHA-256, klasę urządzenia, PCS i pierwszy poprawny opis profilu

Podpisy GRAY, RGB, CMYK oraz 2CLR do FCLR są rozpoznawane przez inspektor ogólny; walidatory właściwe dla formatów mogą narzucać węższą politykę kolorów procesowych

PdfIccProfileDescriptionMatches sprawdza wartość desc v2 albo każdy ograniczony rekord locale w v4 mluc profileDescriptionTag

Limits

LimitDefaultPurpose
MaxProfileBytes64 MiBPrzerywa parsowanie i skróty dla przewymiarowanych profili
MaxTagCount4096Ogranicza przechodzenie tablicy tagów

Remarks

See Also

FPdfPdfvtMime