PDFium Delphi Component Docs

Модуль FPdfIccProfile

Модуль: FPdfIccProfile
Ограниченная инспекция заголовка и таблицы тегов профиля ICC для проверки стандартов и производственных свидетельств

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 проверяет 128-байтовый заголовок, объявленный размер файла, подпись acsp, количество компонентов цветового пространства, ограниченное количество тегов, протяжённость таблицы тегов и каждый диапазон данных тегов, прежде чем открывать метаданные

Результат включает сырые четырёхбайтовые подписи версии и цветового пространства, отображаемые значения, количество компонентов и тегов, идентификатор профиля, MD5 полного файла, SHA-256, класс устройства, PCS и первое корректное описание профиля

Общий инспектор распознаёт подписи GRAY, RGB, CMYK и 2CLR–FCLR; валидаторы конкретных форматов могут накладывать более узкую политику процессных цветов

PdfIccProfileDescriptionMatches проверяет значение desc версии 2 либо каждую ограниченную запись локали в profileDescriptionTag mluc версии 4

Limits

LimitDefaultPurpose
MaxProfileBytes64 MiBОстанавливает разбор и хэширование чрезмерно больших профилей
MaxTagCount4096Ограничивает обход таблицы тегов

Remarks

See Also

FPdfPdfvtMime