PDFium Delphi Component Docs

Unidade FPdfIccProfile

Unidade: FPdfIccProfile
Inspeção limitada do header e da tabela de tags de perfis ICC para validação de padrões e evidências de produção

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 valida o header de 128 bytes, o tamanho de arquivo declarado, a assinatura acsp, a contagem de componentes do espaço de cor, a contagem limitada de tags, a extensão da tabela de tags e cada intervalo de dados de tag antes de expor os metadados

O resultado inclui as assinaturas brutas de quatro bytes de versão e de espaço de cor, valores de exibição, contagens de componentes e de tags, ID do perfil, MD5 do arquivo completo, SHA-256, classe de dispositivo, PCS e a primeira descrição de perfil válida

As assinaturas GRAY, RGB, CMYK e de 2CLR a FCLR são reconhecidas pelo inspetor geral; validadores específicos de formato podem impor uma política mais estreita de cores de processo

PdfIccProfileDescriptionMatches verifica o valor desc da v2 ou cada registro de locale limitado em um profileDescriptionTag mluc da v4

Limits

LimitDefaultPurpose
MaxProfileBytes64 MiBInterrompe a análise e o hashing de perfis oversized
MaxTagCount4096Limita o percurso da tabela de tags

Remarks

See Also

FPdfPdfvtMime