ImageGear v26.5 - Updated
Developer Guide / File Formats and Compressions / File Formats / Metadata Structures / IPTC Metadata Structure
In This Topic
    IPTC Metadata Structure
    In This Topic

    International Press and Telecommunications Council Standards (IPTC) have been created for exchanging different type of information.

    IPTC is a metadata format rather than a image file format. It can be stored within JPEG and TIFF image files. In TIFF files the IPTC data is stored in TIFF tag with Id = 34377 (see TIFF Non-Image Data Structure for metadata structure of the tag). In JPEG files, the IPTC data is stored in Photoshop Image Resource APP13 marker segment (see JPEG Non-Image Data Structure).

    ImageGear IPTC metadata structure is framed in two levels:

    • IPTC level containing all IPTC data
    • Record level containing value items of a record

    IPTC Level

    Name Id Type Value Type Value Value Length Ignored on save
    Record level 1 <Record#> Tree
    ...
    Record level n <Record#> Tree

    The <Record#> tag is the primary identifier of IPTC record. Its value is the number of appropriate IPTC record described in IPTC - NAA IIM4 specification. Record levels must follow in numerical order within IPTC level.

    Record Level

    Name Id Type Value Type Value Value Length Ignored on save
    Dataset value item Leaf FALSE
    ...
    Dataset value item Leaf FALSE

    The available , , , and values are described below for each IPTC record according to IPTC-NAA IIM4 specification. Dataset value item can follow in any order within appropriate record level.

    In the tables below, the last column lists the maximum item count for non-string types, and string length for string types. Item count for string types in IPTC metadata is always 1.

    Dataset Value Items Description for IPTC Envelope Record (Record #1)

    Item Identifier Item Name Value Type Max. Value Length
    (for String last NULL is not counted)
    0 "ModelVersion" UINT16 1
    5 "Destination" STRING 1024
    20 "FileFormat" UINT16 1
    22 "FileFormatVersion" UINT16 1
    30 "ServiceIdentifier" STRING 10
    40 "EnvelopeNumber" STRING 8
    50 "ProductID" STRING 32
    60 "EnvelopePriority" STRING 1
    70 "DateSent" STRING 8
    80 "TimeSent" STRING 11
    90 "CodedCharacterSet" STRING 32
    100 "UNO" STRING 80
    120 "ARMIdentifier" UINT16 1
    122 "ARMVersion" UINT16 1

    Dataset Value Items Description for IPTC Application Record (Record #2)

    Item Identifier Item Name Value Type Max. Value Length
    (for String last NULL is not counted)
    0 "RecordVersion" UINT16 1
    3 "ObjectTypeReference" STRING 67
    4 "ObjectAttributeReference" STRING 68
    5 "ObjectName" STRING 64
    7 "EditStatus" STRING 64
    8 "EditorialUpdate" STRING 2
    10 "Urgency" STRING 1
    12 "SubjectReference" STRING 236
    15 "Category" STRING 3
    20 "SupplementalCategory" STRING 32
    22 "FixtureIdentifier" STRING 32
    25 "Keywords" STRING 64
    26 "ContentLocationCode" STRING 3
    27 "ContentLocationName" STRING 64
    30 "ReleaseDate" STRING 8
    35 "ReleaseTime" STRING 11
    37 "ExpirationDate" STRING 8
    38 "ExpirationTime" STRING 11
    40 "SpecialInstructions" STRING 256
    42 "ActionAdvised" STRING 2
    45 "ReferenceService" STRING 10
    47 "ReferenceDate" STRING 8
    50 "ReferenceNumber" STRING 8
    55 "DateCreated" STRING 8
    60 "TimeCreated" STRING 11
    62 "DigitalCreationDate" STRING 8
    63 "DigitalCreationTime" STRING 11
    65 "OriginatingProgram" STRING 32
    70 "ProgramVersion" STRING 10
    75 "ObjectCycle" STRING 1
    80 "By-line" STRING 32
    85 "By-lineTitle" STRING 32
    90 "City" STRING 32
    92 "Sublocation" STRING 32
    95 "Province/State" STRING 32
    100 "Country/
    PrimaryLocationCode"
    STRING 3
    101 "Country/
    PrimaryLocationName"
    STRING 64
    103 "OriginalTransmission
    Reference"
    STRING 32
    105 "Headline" STRING 256
    110 "Credit" STRING 32
    115 "Source" STRING 32
    116 "CopyrightNotice" STRING 128
    118 "Contact" STRING 128
    120 "Caption/Abstract" STRING 2000
    122 "Writer/Editor" STRING 32
    125 "RasterizedCaption" UINT8 7360
    130 "ImageType" STRING 2
    131 "ImageOrientation" STRING 1
    135 "LanguageIdentifier" STRING 3
    150 "AudioType" STRING 2
    151 "AudioSamplingRate" STRING 6
    152 "AudioSamplingResolution" STRING 2
    153 "AudioDuration" STRING 6
    154 "AudioOutcue" STRING 64
    200 "ObjectDataPreview
    FileFormat"
    UINT16 1
    201 "ObjectDataPreview
    FileFormatVersion"
    UINT16 1
    202 "ObjectDataPreviewData" UINT8 Undefined

    Dataset Value Items Description for IPTC Digital News Photo Parameter Record (Record #3)

    Item Identifier Item Name Value Type Max. Value Length (for String last NULL is not counted)
    0 "RecordVersion" UINT16 1
    10 "PictureNumber" RAW_DATA 16
    20 "PixelsPerLine" UINT16 1
    30 "NumberOfLine" UINT16 1
    40 "PixelSizeInScanningDirection" UINT16 1
    50 "PixelSizePerpendicularTo
    ScanningDirection"
    UINT16 1
    55 "SupplementType" UINT8 1
    60 "ColourRepresentation" UINT8 2
    64 "InterchangeColourSpace" UINT8 1
    65 "ColourSequence" UINT8 4
    66 "ICCInputColourProfile" RAW_DATA Undefined
    70 "ColourCalibrationMatrixTable" RAW_DATA Undefined
    80 "LookupTable" RAW_DATA 131072
    84 "NumberOfIndexEntries" UINT16 1
    85 "ColourPalette" RAW_DATA Undefined
    86 "NumberOfBitsPerSample" UINT8 1
    90 "SamplingStructure" UINT8 1
    100 "ScanningDirection" UINT8 1
    102 "ImageRotation" UINT8 1
    110 "DataCompressionMethod" RAW_DATA 4
    120 "QuantisationMethod" UINT8 1
    125 "EndPoints" UINT8 Undefined
    130 "ExcursionTolerance" UINT8 1
    135 "BitsPerComponent" UINT8 Undefined
    140 "MaximumDensityRange" UINT16 1
    145 "GammaCompensatedValue" UINT16 1

    Dataset Value Items Description for IPTC Pre-Object Descriptor Record (Record #7)

    Item Identifier Item Name Value Type Max. Value Length (for String last NULL is not counted)
    10 "SizeMode" UINT8 1
    20 "MaxSubfileSize" UINT8 or
    UINT16 or
    UINT32
    1
    90 "ObjectDataSizeAnnounced" UINT8 or
    UINT16 or
    UINT32
    1
    95 "MaximumObjectDataSize" UINT8 or
    UINT16 or
    UINT32
    1

    Dataset Value Items Description for IPTC Object Record (Record #8)

    Item Identifier Item Name Value Type Max. Value Length (for String last NULL is not counted)
    10 "Subfile" RAW_DATA Undefined

    Dataset Value Items Description for IPTC Post-Object Descriptor Record (Record #9)

    Item Identifier Item Name Value Type Max. Value Length (for String last NULL is not counted)
    10 "ConfirmedObjectDataSize" UINT8 or
    UINT16 or
    UINT32
    1