SetOutputIntentProfileReference

Compliance, colour management

Description

Creates or replaces a document-level or page-level PDF 2.0 output intent that references an external ICC profile without embedding the profile bytes

Syntax

Delphi

Function SetOutputIntentProfileReference(PageNumber: Integer; Const ProfileFileName, ProfileURL, OutputConditionIdentifier, OutputCondition, Info, RegistryName, ProfileName, ColorantNames: WideString): Integer;

Parameters

PageNumber0 for the Catalog output intent, or a one-based page number for an explicit page output intent
ProfileFileNameLocal ICC file used to validate the profile and derive its reference metadata; the bytes are not embedded
ProfileURLASCII RFC 3986 URI with an explicit scheme for retrieving the same ICC profile
OutputConditionIdentifierRequired production-condition identifier
OutputConditionOptional human-readable condition
InfoOptional additional description
RegistryNameOptional registry URI
ProfileNameRequired ICC profile description
ColorantNamesOptional semicolon-delimited colourant names; for an n-colourant profile, omitted names are read from the ICC colorantTableTag, while supplied names and order must match that tag

Return value

1 on success, or 0 for an invalid target, URI, unreadable or malformed ICC output-device profile, unsupported profile colour space, missing required text or mismatched colourant metadata

Remarks

The method validates the ICC header, declared size, output-device class and colourant table, then writes /DestOutputProfileRef with /URLs, a 16-byte MD5 /CheckSum, the four-byte /ICCVersion and /ProfileCS strings, /ProfileName and an optional /ColorantTable

GRAY, RGB and CMYK profiles support PDF/X-6p mode 5; 2CLR through FCLR profiles support PDF/X-6n mode 6

The call requires PDF 2.0 and replaces the first output intent at the selected scope

See also

AddOutputIntentProfileReferenceURL, GetEffectivePageOutputIntentJSON, SetPDFXMode, SetPageOutputIntent