PDFium Delphi Component Docs

FPdfIccProfile Unit

Unit: FPdfIccProfile
Begrenzte Inspektion von ICC-Profil-Header und Tag-Tabelle für Standardsvalidierung und Produktionsbelege

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;

Beschreibung

InspectPdfIccProfile validiert den 128-Byte-Header, die deklarierte Dateigröße, die acsp-Signatur, die Komponentenzahl des Farbraums, die begrenzte Tag-Anzahl, die Tag-Tabellenausdehnung und jeden Tag-Datenbereich, bevor Metadaten offengelegt werden

Das Ergebnis umfasst rohe Vier-Byte-Versionen und Farbraum-Signaturen, Anzeigewerte, Komponenten- und Tag-Zählungen, Profil-ID, MD5 der vollständigen Datei, SHA-256, Geräteklasse, PCS und die erste gültige Profilbeschreibung

GRAY-, RGB-, CMYK- und 2CLR- bis FCLR-Signaturen werden vom allgemeinen Inspektor erkannt; formatspezifische Validatoren können eine engere Prozessfarben-Richtlinie verhängen

PdfIccProfileDescriptionMatches prüft den v2-desc-Wert oder jeden begrenzten Locale-Eintrag in einer v4-mluc-profileDescriptionTag

Grenzen

GrenzwertStandardZweck
MaxProfileBytes64 MiBStoppt Parsen und Hashing übergroßer Profile
MaxTagCount4096Begrenzt den Durchlauf durch die Tag-Tabelle

Hinweise

Siehe auch

FPdfPdfvtMime