PDFium Delphi Component Docs

FPdfIccProfile ユニット

ユニット: FPdfIccProfile
規格検証と出力エビデンスのための、上限付き ICC プロファイルヘッダーとタグテーブル検査です

構文

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;

説明

InspectPdfIccProfile は、メタデータを公開する前に、128 バイトのヘッダー、宣言されたファイルサイズ、acsp シグネチャ、色空間コンポーネント数、上限付きタグ数、タグテーブル範囲、すべてのタグデータ範囲を検証します

結果には、生の 4 バイトのバージョンと色空間シグネチャ、表示値、コンポーネント数とタグ数、プロファイル ID、ファイル全体の MD5、SHA-256、デバイスクラス、PCS、最初の有効なプロファイル説明が含まれます

汎用インスペクターは GRAY、RGB、CMYK、および 2CLR から FCLR までのシグネチャを認識します。形式固有のバリデーターは、より狭いプロセスカラーポリシーを課す場合があります

PdfIccProfileDescriptionMatches は、v2 の desc 値、または v4 の mluc profileDescriptionTag に含まれるすべての上限付きロケールレコードを検査します

上限

上限既定値目的
MaxProfileBytes64 MiB過大なプロファイルの解析とハッシュ化を停止します
MaxTagCount4096タグテーブル走査を制限します

備考

関連項目

FPdfPdfvtMime