ATS-900 Update IPTCMetadataExtractor_metadata_extract.properties (#373)

This commit is contained in:
David Edwards 2021-04-26 13:00:53 +01:00 committed by GitHub
parent 5ce59d9c04
commit 2d38805d90
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 206 additions and 317 deletions

View File

@ -27,10 +27,13 @@
package org.alfresco.transformer.metadataExtractors;
import java.io.IOException;
import java.io.Serializable;
import java.util.Map;
import org.alfresco.transform.exceptions.TransformException;
import org.alfresco.transformer.tika.parsers.ExifToolParser;
import org.apache.tika.exception.TikaException;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.Parser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -51,8 +54,20 @@ public class IPTCMetadataExtractor extends AbstractTikaMetadataExtractor
return new ExifToolParser();
} catch (IOException | TikaException e) {
logger.error(e.getMessage(), e);
throw new TransformException(500, "Error creating IPTC parser");
throw new TransformException(500, "Error creating IPTC parser: " + e.getMessage());
}
}
/**
* Because some of the mimetypes that IPTCMetadataExtractor now parse, were previously handled
* by TikaAutoMetadataExtractor we call the TikaAutoMetadataExtractor.extractSpecific method to
* ensure that the returned properties contains the expected entries.
*/
@Override
protected Map<String, Serializable> extractSpecific(Metadata metadata, Map<String, Serializable> properties,
Map<String, String> headers) {
properties = new TikaAutoMetadataExtractor().extractSpecific(metadata, properties, headers);
return properties;
}
}

View File

@ -26,6 +26,10 @@
*/
package org.alfresco.transformer.tika.parsers;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.alfresco.transform.client.model.Mimetype.MIMETYPE_IMAGE_JPEG;
import static org.alfresco.transform.client.model.Mimetype.MIMETYPE_IMAGE_TIFF;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
@ -35,25 +39,28 @@ import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.Reader;
import java.net.URL;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.exception.TikaException;
import org.apache.tika.io.IOUtils;
import org.apache.tika.io.NullOutputStream;
import org.apache.tika.io.TemporaryResources;
import org.apache.tika.io.TikaInputStream;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.mime.MediaType;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.Parser;
import org.apache.tika.parser.external.ExternalParser;
import org.apache.tika.parser.external.ExternalParsersFactory;
import org.apache.tika.parser.image.ImageParser;
import org.apache.tika.parser.image.TiffParser;
import org.apache.tika.parser.jpeg.JpegParser;
import org.apache.tika.sax.XHTMLContentHandler;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
import static java.nio.charset.StandardCharsets.UTF_8;
public class ExifToolParser extends ExternalParser {
private static final String EXIFTOOL_PARSER_CONFIG = "parsers/external/config/exiftool-parser.xml";
@ -84,14 +91,33 @@ public class ExifToolParser extends ExternalParser {
throws IOException, SAXException, TikaException {
XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
MediaType mediaType = MediaType.parse(metadata.get(Metadata.CONTENT_TYPE));
TemporaryResources tmp = new TemporaryResources();
try {
parse(TikaInputStream.get(stream, tmp), xhtml, metadata, tmp);
TikaInputStream tis = TikaInputStream.get(stream, tmp);
parse(tis, xhtml, metadata, tmp);
switch (mediaType.getType()+"/"+mediaType.getSubtype()) {
case MIMETYPE_IMAGE_JPEG:
parseAdditional(new JpegParser(), tis, handler, metadata, context, mediaType);
break;
case MIMETYPE_IMAGE_TIFF:
parseAdditional(new TiffParser(), tis, handler, metadata, context, mediaType);
break;
default:
parseAdditional(new ImageParser(), tis, handler, metadata, context, mediaType);
}
} finally {
tmp.dispose();
}
}
private void parseAdditional(Parser parser, TikaInputStream tis, ContentHandler handler, Metadata metadata, ParseContext context,
MediaType mediaType) throws IOException, SAXException, TikaException {
if (parser.getSupportedTypes(context).contains(mediaType)) {
parser.parse(tis, handler, metadata, context);
}
}
private void parse(TikaInputStream stream, XHTMLContentHandler xhtml, Metadata metadata, TemporaryResources tmp)
throws IOException, SAXException, TikaException {
boolean inputToStdIn = true;

View File

@ -3,306 +3,139 @@
#
# author: David Edwards
# TODO Complete mappings (currently copied from other files)
# Namespaces
namespace.prefix.cm=http://www.alfresco.org/model/content/1.0
namespace.prefix.audio=http://www.alfresco.org/model/audio/1.0
namespace.prefix.video=http://www.alfresco.org/model/video/1.0
namespace.prefix.custom=MyCustomNameSpace
# Dump of most namespaces returned by the exifTool for testing
# TODO ATS-900
namespace.prefix.File=File
namespace.prefix.IFD0=IFD0
namespace.prefix.ExifIFD=ExifIFD
namespace.prefix.IFD1=IFD1
namespace.prefix.Photoshop=Photoshop
namespace.prefix.IPTC=IPTC
namespace.prefix.ICC-header=ICC-header
namespace.prefix.ICC_Profile=ICC_Profile
namespace.prefix.ICC-view=ICC-view
namespace.prefix.ICC-meas=ICC-meas
namespace.prefix.XMP-x=XMP-x
namespace.prefix.XMP-photoshop=XMP-photoshop
namespace.prefix.XMP-xmp=XMP-xmp
namespace.prefix.XMP-iptcCore=XMP-iptcCore
namespace.prefix.XMP-dc=XMP-dc
namespace.prefix.XMP-xmpRights=XMP-xmpRights
namespace.prefix.XMP-xmpMM=XMP-xmpMM
namespace.prefix.XMP-illustrator=XMP-illustrator
namespace.prefix.XMP-mediapro=XMP-mediapro
namespace.prefix.XMP-aux=XMP-aux
namespace.prefix.XMP-iptcExt=XMP-iptcExt
namespace.prefix.XMP-plus=XMP-plus
namespace.prefix.XMP-custom=XMP-custom
namespace.prefix.Adobe=Adobe
namespace.prefix.Composite=Composite
# IPTC
namespace.prefix.iptcxmp=http://www.alfresco.org/model/content/metadata/IPTCXMP/1.0
namespace.prefix.dc=http://purl.org/dc/elements/1.1/
namespace.prefix.Iptc4xmpCore=http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/
namespace.prefix.Iptc4xmpExt=http://iptc.org/std/Iptc4xmpExt/2008-02-29/
namespace.prefix.photoshop=http://ns.adobe.com/photoshop/1.0/
namespace.prefix.plus=http://ns.useplus.org/ldf/xmp/1.0/
namespace.prefix.xmpRights=http://ns.adobe.com/xap/1.0/rights/
namespace.prefix.stDim=http://ns.adobe.com/xap/1.0/sType/Dimensions
# Core mappings
# There is overlap with the TikaAutoMetadatorExtractor. These core mappings should still be included for backwards compatability.
# TODO ATS-900
XMP-dc\:Creator=cm:author
XMP-dc\:Title=cm:title
XMP-dc\:Description=cm:description
# Exif
namespace.prefix.exif=http://www.alfresco.org/model/exif/1.0
# Mappings from TikaAutoExtractor
author=cm:author
title=cm:title
description=cm:description
created=cm:created
# Dump of most namespaces returned by the exifTool for testing
# TODO ATS-900
ExifTool\:ExifToolVersion=custom:ExifToolVersion
File\:FileType=File:FileType
File\:FileTypeExtension=File:FileTypeExtension
File\:MIMEType=File:MIMEType
File\:ExifByteOrder=File:ExifByteOrder
File\:CurrentIPTCDigest=File:CurrentIPTCDigest
File\:ImageWidth=File:ImageWidth
File\:ImageHeight=File:ImageHeight
File\:EncodingProcess=File:EncodingProcess
File\:BitsPerSample=File:BitsPerSample
File\:ColorComponents=File:ColorComponents
File\:YCbCrSubSampling=File:YCbCrSubSampling
IFD0\:PhotometricInterpretation=IFD0:PhotometricInterpretation
IFD0\:ImageDescription=IFD0:ImageDescription
IFD0\:Orientation=IFD0:Orientation
IFD0\:SamplesPerPixel=IFD0:SamplesPerPixel
IFD0\:XResolution=IFD0:XResolution
IFD0\:YResolution=IFD0:YResolution
IFD0\:ResolutionUnit=IFD0:ResolutionUnit
IFD0\:Software=IFD0:Software
IFD0\:ModifyDate=IFD0:ModifyDate
IFD0\:Artist=IFD0:Artist
IFD0\:Copyright=IFD0:Copyright
ExifIFD\:Make=ExifIFD:Make
ExifIFD\:Model=ExifIFD:Model
ExifIFD\:ExposureTime=ExifIFD:ExposureTime
ExifIFD\:FNumber=ExifIFD:FNumber
ExifIFD\:ExposureProgram=ExifIFD:ExposureProgram
ExifIFD\:ISO=ExifIFD:ISO
ExifIFD\:ExifVersion=ExifIFD:ExifVersion
ExifIFD\:DateTimeOriginal=ExifIFD:DateTimeOriginal
ExifIFD\:CreateDate=ExifIFD:CreateDate
ExifIFD\:ComponentsConfiguration=ExifIFD:ComponentsConfiguration
ExifIFD\:ShutterSpeedValue=ExifIFD:ShutterSpeedValue
ExifIFD\:ApertureValue=ExifIFD:ApertureValue
ExifIFD\:ExposureCompensation=ExifIFD:ExposureCompensation
ExifIFD\:MaxApertureValue=ExifIFD:MaxApertureValue
ExifIFD\:MeteringMode=ExifIFD:MeteringMode
ExifIFD\:Flash=ExifIFD:Flash
ExifIFD\:FocalLength=ExifIFD:FocalLength
ExifIFD\:SubSecTime=ExifIFD:SubSecTime
ExifIFD\:SubSecTimeOriginal=ExifIFD:SubSecTimeOriginal
ExifIFD\:SubSecTimeDigitized=ExifIFD:SubSecTimeDigitized
ExifIFD\:FlashpixVersion=ExifIFD:FlashpixVersion
ExifIFD\:ColorSpace=ExifIFD:ColorSpace
ExifIFD\:ExifImageWidth=ExifIFD:ExifImageWidth
ExifIFD\:ExifImageHeight=ExifIFD:ExifImageHeight
ExifIFD\:FocalPlaneXResolution=ExifIFD:FocalPlaneXResolution
ExifIFD\:FocalPlaneYResolution=ExifIFD:FocalPlaneYResolution
ExifIFD\:FocalPlaneResolutionUnit=ExifIFD:FocalPlaneResolutionUnit
ExifIFD\:CustomRendered=ExifIFD:CustomRendered
ExifIFD\:ExposureMode=ExifIFD:ExposureMode
ExifIFD\:WhiteBalance=ExifIFD:WhiteBalance
ExifIFD\:SceneCaptureType=ExifIFD:SceneCaptureType
ExifIFD\:SerialNumber=ExifIFD:SerialNumber
ExifIFD\:LensInfo=ExifIFD:LensInfo
ExifIFD\:LensModel=ExifIFD:LensModel
ExifIFD\:LensSerialNumber=ExifIFD:LensSerialNumber
IFD1\:Compression=IFD1:Compression
IFD1\:ThumbnailOffset=IFD1:ThumbnailOffset
IFD1\:ThumbnailLength=IFD1:ThumbnailLength
IFD1\:ThumbnailImage=IFD1:ThumbnailImage
IPTC\:CodedCharacterSet=IPTC:CodedCharacterSet
IPTC\:ApplicationRecordVersion=IPTC:ApplicationRecordVersion
IPTC\:Caption-Abstract=IPTC:Caption-Abstract
IPTC\:Writer-Editor=IPTC:Writer-Editor
IPTC\:SpecialInstructions=IPTC:SpecialInstructions
IPTC\:By-line=IPTC:By-line
IPTC\:By-lineTitle=IPTC:By-lineTitle
IPTC\:ObjectName=IPTC:ObjectName
IPTC\:TimeCreated=IPTC:TimeCreated
IPTC\:Sub-location=IPTC:Sub-location
IPTC\:Province-State=IPTC:Province-State
IPTC\:Country-PrimaryLocationName=IPTC:Country-PrimaryLocationName
IPTC\:Country-PrimaryLocationCode=IPTC:Country-PrimaryLocationCode
IPTC\:OriginalTransmissionReference=IPTC:OriginalTransmissionReference
IPTC\:Keywords=IPTC:Keywords
IPTC\:CopyrightNotice=IPTC:CopyrightNotice
IPTC\:FixtureIdentifier=IPTC:FixtureIdentifier
IPTC\:EditStatus=IPTC:EditStatus
IPTC\:Contact=IPTC:Contact
Photoshop\:IPTCDigest=Photoshop:IPTCDigest
Photoshop\:DisplayedUnitsX=Photoshop:DisplayedUnitsX
Photoshop\:DisplayedUnitsY=Photoshop:DisplayedUnitsY
Photoshop\:PrintStyle=Photoshop:PrintStyle
Photoshop\:PrintPosition=Photoshop:PrintPosition
Photoshop\:PrintScale=Photoshop:PrintScale
Photoshop\:GlobalAngle=Photoshop:GlobalAngle
Photoshop\:GlobalAltitude=Photoshop:GlobalAltitude
Photoshop\:CopyrightFlag=Photoshop:CopyrightFlag
Photoshop\:URL=Photoshop:URL
Photoshop\:URL_List=Photoshop:URL_List
Photoshop\:SlicesGroupName=Photoshop:SlicesGroupName
Photoshop\:NumSlices=Photoshop:NumSlices
Photoshop\:PixelAspectRatio=Photoshop:PixelAspectRatio
Photoshop\:PhotoshopThumbnail=Photoshop:PhotoshopThumbnail
Photoshop\:HasRealMergedData=Photoshop:HasRealMergedData
Photoshop\:WriterName=Photoshop:WriterName
Photoshop\:ReaderName=Photoshop:ReaderName
Photoshop\:PhotoshopQuality=Photoshop:PhotoshopQuality
Photoshop\:PhotoshopFormat=Photoshop:PhotoshopFormat
Photoshop\:ProgressiveScans=Photoshop:ProgressiveScans
XMP-x\:XMPToolkit=XMP-x:XMPToolkit
XMP-photoshop\:LegacyIPTCDigest=XMP-photoshop:LegacyIPTCDigest
XMP-photoshop\:AuthorsPosition=XMP-photoshop:AuthorsPosition
XMP-photoshop\:Headline=XMP-photoshop:Headline
XMP-photoshop\:CaptionWriter=XMP-photoshop:CaptionWriter
XMP-photoshop\:DateCreated=XMP-photoshop:DateCreated
XMP-photoshop\:City=XMP-photoshop:City
XMP-photoshop\:State=XMP-photoshop:State
XMP-photoshop\:Country=XMP-photoshop:Country
XMP-photoshop\:TransmissionReference=XMP-photoshop:TransmissionReference
XMP-photoshop\:Instructions=XMP-photoshop:Instructions
XMP-photoshop\:Credit=XMP-photoshop:Credit
XMP-photoshop\:Source=XMP-photoshop:Source
XMP-photoshop\:Category=XMP-photoshop:Category
XMP-photoshop\:ColorMode=XMP-photoshop:ColorMode
XMP-photoshop\:ICCProfileName=XMP-photoshop:ICCProfileName
XMP-photoshop\:SupplementalCategories=XMP-photoshop:SupplementalCategories
XMP-xmp\:CreatorTool=XMP-xmp:CreatorTool
XMP-xmp\:MetadataDate=XMP-xmp:MetadataDate
XMP-iptcCore\:IntellectualGenre=XMP-iptcCore:IntellectualGenre
XMP-iptcCore\:Location=XMP-iptcCore:Location
XMP-iptcCore\:CountryCode=XMP-iptcCore:CountryCode
XMP-iptcCore\:CreatorAddress=XMP-iptcCore:CreatorAddress
XMP-iptcCore\:CreatorCity=XMP-iptcCore:CreatorCity
XMP-iptcCore\:CreatorRegion=XMP-iptcCore:CreatorRegion
XMP-iptcCore\:CreatorPostalCode=XMP-iptcCore:CreatorPostalCode
XMP-iptcCore\:CreatorCountry=XMP-iptcCore:CreatorCountry
XMP-iptcCore\:CreatorWorkTelephone=XMP-iptcCore:CreatorWorkTelephone
XMP-iptcCore\:CreatorWorkEmail=XMP-iptcCore:CreatorWorkEmail
XMP-iptcCore\:CreatorWorkURL=XMP-iptcCore:CreatorWorkURL
XMP-iptcCore\:Scene=XMP-iptcCore:Scene
XMP-iptcCore\:SubjectCode=XMP-iptcCore:SubjectCode
XMP-dc\:Format=XMP-dc:Format
XMP-dc\:Title=XMP-dc:Title
XMP-dc\:Subject=XMP-dc:Subject
XMP-dc\:Creator=XMP-dc:Creator
XMP-dc\:Rights=XMP-dc:Rights
XMP-dc\:Description=XMP-dc:Description
XMP-xmpRights\:WebStatement=XMP-xmpRights:WebStatement
XMP-xmpRights\:Marked=XMP-xmpRights:Marked
XMP-xmpRights\:UsageTerms=XMP-xmpRights:UsageTerms
XMP-xmpMM\:DocumentID=XMP-xmpMM:DocumentID
XMP-xmpMM\:InstanceID=XMP-xmpMM:InstanceID
XMP-xmpMM\:OriginalDocumentID=XMP-xmpMM:OriginalDocumentID
XMP-xmpMM\:HistoryAction=XMP-xmpMM:HistoryAction
XMP-xmpMM\:HistoryInstanceID=XMP-xmpMM:HistoryInstanceID
XMP-xmpMM\:HistoryWhen=XMP-xmpMM:HistoryWhen
XMP-xmpMM\:HistorySoftwareAgent=XMP-xmpMM:HistorySoftwareAgent
XMP-xmpMM\:HistoryChanged=XMP-xmpMM:HistoryChanged
XMP-illustrator\:StartupProfile=XMP-illustrator:StartupProfile
XMP-mediapro\:Status=XMP-mediapro:Status
XMP-mediapro\:People=XMP-mediapro:People
XMP-aux\:Lens=XMP-aux:Lens
XMP-iptcExt\:AdditionalModelInformation=XMP-iptcExt:AdditionalModelInformation
XMP-iptcExt\:MaxAvailWidth=XMP-iptcExt:MaxAvailWidth
XMP-iptcExt\:MaxAvailHeight=XMP-iptcExt:MaxAvailHeight
XMP-iptcExt\:DigitalSourceType=XMP-iptcExt:DigitalSourceType
XMP-iptcExt\:LocationCreatedSublocation=XMP-iptcExt:LocationCreatedSublocation
XMP-iptcExt\:LocationCreatedCity=XMP-iptcExt:LocationCreatedCity
XMP-iptcExt\:LocationCreatedProvinceState=XMP-iptcExt:LocationCreatedProvinceState
XMP-iptcExt\:LocationCreatedCountryName=XMP-iptcExt:LocationCreatedCountryName
XMP-iptcExt\:LocationCreatedCountryCode=XMP-iptcExt:LocationCreatedCountryCode
XMP-iptcExt\:LocationCreatedWorldRegion=XMP-iptcExt:LocationCreatedWorldRegion
XMP-iptcExt\:Event=XMP-iptcExt:Event
XMP-iptcExt\:ModelAge=XMP-iptcExt:ModelAge
XMP-iptcExt\:ArtworkDateCreated=XMP-iptcExt:ArtworkDateCreated
XMP-iptcExt\:ArtworkSource=XMP-iptcExt:ArtworkSource
XMP-iptcExt\:ArtworkSourceInventoryNo=XMP-iptcExt:ArtworkSourceInventoryNo
XMP-iptcExt\:ArtworkCopyrightNotice=XMP-iptcExt:ArtworkCopyrightNotice
XMP-iptcExt\:ArtworkTitle=XMP-iptcExt:ArtworkTitle
XMP-iptcExt\:ArtworkCreator=XMP-iptcExt:ArtworkCreator
XMP-iptcExt\:RegistryOrganisationID=XMP-iptcExt:RegistryOrganisationID
XMP-iptcExt\:RegistryItemID=XMP-iptcExt:RegistryItemID
XMP-iptcExt\:OrganisationInImageName=XMP-iptcExt:OrganisationInImageName
XMP-iptcExt\:OrganisationInImageCode=XMP-iptcExt:OrganisationInImageCode
XMP-iptcExt\:PersonInImage=XMP-iptcExt:PersonInImage
XMP-iptcExt\:LocationShownSublocation=XMP-iptcExt:LocationShownSublocation
XMP-iptcExt\:LocationShownCity=XMP-iptcExt:LocationShownCity
XMP-iptcExt\:LocationShownProvinceState=XMP-iptcExt:LocationShownProvinceState
XMP-iptcExt\:LocationShownCountryName=XMP-iptcExt:LocationShownCountryName
XMP-iptcExt\:LocationShownCountryCode=XMP-iptcExt:LocationShownCountryCode
XMP-iptcExt\:LocationShownWorldRegion=XMP-iptcExt:LocationShownWorldRegion
XMP-plus\:PropertyReleaseStatus=XMP-plus:PropertyReleaseStatus
XMP-plus\:ImageSupplierImageID=XMP-plus:ImageSupplierImageID
XMP-plus\:MinorModelAgeDisclosure=XMP-plus:MinorModelAgeDisclosure
XMP-plus\:ModelReleaseStatus=XMP-plus:ModelReleaseStatus
XMP-plus\:PLUSVersion=XMP-plus:PLUSVersion
XMP-plus\:ImageSupplierName=XMP-plus:ImageSupplierName
XMP-plus\:ImageSupplierID=XMP-plus:ImageSupplierID
XMP-plus\:ImageCreatorName=XMP-plus:ImageCreatorName
XMP-plus\:ImageCreatorID=XMP-plus:ImageCreatorID
XMP-plus\:ModelReleaseID=XMP-plus:ModelReleaseID
XMP-plus\:PropertyReleaseID=XMP-plus:PropertyReleaseID
XMP-plus\:CopyrightOwnerName=XMP-plus:CopyrightOwnerName
XMP-plus\:CopyrightOwnerID=XMP-plus:CopyrightOwnerID
XMP-plus\:LicensorName=XMP-plus:LicensorName
XMP-plus\:LicensorID=XMP-plus:LicensorID
XMP-plus\:LicensorTelephone1=XMP-plus:LicensorTelephone1
XMP-plus\:LicensorTelephone2=XMP-plus:LicensorTelephone2
XMP-plus\:LicensorEmail=XMP-plus:LicensorEmail
XMP-plus\:LicensorURL=XMP-plus:LicensorURL
XMP-custom\:Text=XMP-custom:Text
XMP-custom\:TextML=XMP-custom:TextML
ICC-header\:ProfileCMMType=ICC-header:ProfileCMMType
ICC-header\:ProfileVersion=ICC-header:ProfileVersion
ICC-header\:ProfileClass=ICC-header:ProfileClass
ICC-header\:ColorSpaceData=ICC-header:ColorSpaceData
ICC-header\:ProfileConnectionSpace=ICC-header:ProfileConnectionSpace
ICC-header\:ProfileDateTime=ICC-header:ProfileDateTime
ICC-header\:ProfileFileSignature=ICC-header:ProfileFileSignature
ICC-header\:PrimaryPlatform=ICC-header:PrimaryPlatform
ICC-header\:CMMFlags=ICC-header:CMMFlags
ICC-header\:DeviceManufacturer=ICC-header:DeviceManufacturer
ICC-header\:DeviceModel=ICC-header:DeviceModel
ICC-header\:DeviceAttributes=ICC-header:DeviceAttributes
ICC-header\:RenderingIntent=ICC-header:RenderingIntent
ICC-header\:ConnectionSpaceIlluminant=ICC-header:ConnectionSpaceIlluminant
ICC-header\:ProfileCreator=ICC-header:ProfileCreator
ICC-header\:ProfileID=ICC-header:ProfileID
ICC_Profile\:ProfileCopyright=ICC_Profile:ProfileCopyright
ICC_Profile\:ProfileDescription=ICC_Profile:ProfileDescription
ICC_Profile\:MediaWhitePoint=ICC_Profile:MediaWhitePoint
ICC_Profile\:MediaBlackPoint=ICC_Profile:MediaBlackPoint
ICC_Profile\:RedMatrixColumn=ICC_Profile:RedMatrixColumn
ICC_Profile\:GreenMatrixColumn=ICC_Profile:GreenMatrixColumn
ICC_Profile\:BlueMatrixColumn=ICC_Profile:BlueMatrixColumn
ICC_Profile\:DeviceMfgDesc=ICC_Profile:DeviceMfgDesc
ICC_Profile\:DeviceModelDesc=ICC_Profile:DeviceModelDesc
ICC_Profile\:ViewingCondDesc=ICC_Profile:ViewingCondDesc
ICC_Profile\:Luminance=ICC_Profile:Luminance
ICC_Profile\:Technology=ICC_Profile:Technology
ICC_Profile\:RedTRC=ICC_Profile:RedTRC
ICC_Profile\:GreenTRC=ICC_Profile:GreenTRC
ICC_Profile\:BlueTRC=ICC_Profile:BlueTRC
ICC-view\:ViewingCondIlluminant=ICC-view:ViewingCondIlluminant
ICC-view\:ViewingCondSurround=ICC-view:ViewingCondSurround
ICC-view\:ViewingCondIlluminantType=ICC-view:ViewingCondIlluminantType
ICC-meas\:MeasurementObserver=ICC-meas:MeasurementObserver
ICC-meas\:MeasurementBacking=ICC-meas:MeasurementBacking
ICC-meas\:MeasurementGeometry=ICC-meas:MeasurementGeometry
ICC-meas\:MeasurementFlare=ICC-meas:MeasurementFlare
ICC-meas\:MeasurementIlluminant=ICC-meas:MeasurementIlluminant
Adobe\:DCTEncodeVersion=Adobe:DCTEncodeVersion
Adobe\:APP14Flags0=Adobe:APP14Flags0
Adobe\:APP14Flags1=Adobe:APP14Flags1
Adobe\:ColorTransform=Adobe:ColorTransform
Composite\:Aperture=Composite:Aperture
Composite\:ImageSize=Composite:ImageSize
Composite\:Megapixels=Composite:Megapixels
Composite\:ShutterSpeed=Composite:ShutterSpeed
Composite\:SubSecModifyDate=Composite:SubSecModifyDate
Composite\:DateTimeCreated=Composite:DateTimeCreated
Composite\:FocalLength35efl=Composite:FocalLength35efl
Composite\:LightValue=Composite:LightValue
Composite\:LensID=Composite:LensID
geo\:lat=cm:latitude
geo\:long=cm:longitude
tiff\:ImageWidth=exif:pixelXDimension
tiff\:ImageLength=exif:pixelYDimension
tiff\:Make=exif:manufacturer
tiff\:Model=exif:model
tiff\:Software=exif:software
tiff\:Orientation=exif:orientation
tiff\:XResolution=exif:xResolution
tiff\:YResolution=exif:yResolution
tiff\:ResolutionUnit=exif:resolutionUnit
exif\:Flash=exif:flash
exif\:ExposureTime=exif:exposureTime
exif\:FNumber=exif:fNumber
exif\:FocalLength=exif:focalLength
exif\:IsoSpeedRatings=exif:isoSpeedRatings
exif\:DateTimeOriginal=exif:dateTimeOriginal
# IPTC Mappings
XMP-dc\:Description=dc:description
XMP-dc\:Subject=dc:subject
XMP-dc\:Creator=dc:creator
XMP-dc\:Rights=dc:rights
XMP-dc\:Title=dc:title
XMP-iptcCore\:CountryCode=Iptc4xmpCore:CiAdrCtry
XMP-iptcCore\:CountryCode=Iptc4xmpCore:CountryCode
XMP-iptcCore\:CreatorAddress=Iptc4xmpCore:CiAdrExtadr
XMP-iptcCore\:CreatorCity=Iptc4xmpCore:CiAdrCity
XMP-iptcCore\:CreatorPostalCode=Iptc4xmpCore:CiAdrPcode
XMP-iptcCore\:CreatorRegion=Iptc4xmpCore:CiAdrRegion
XMP-iptcCore\:CreatorWorkEmail=Iptc4xmpCore:CiEmailWork
XMP-iptcCore\:CreatorWorkTelephone=Iptc4xmpCore:CiTelWork
XMP-iptcCore\:CreatorWorkURL=Iptc4xmpCore:CiUrlWork
XMP-iptcCore\:IntellectualGenre=Iptc4xmpCore:IntellectualGenre
XMP-iptcCore\:Location=Iptc4xmpCore:Location
XMP-iptcCore\:Scene=Iptc4xmpCore:Scene
XMP-iptcCore\:SubjectCode=Iptc4xmpCore:SubjectCode
XMP-photoshop\:AuthorsPosition=photoshop:AuthorsPosition
XMP-photoshop\:CaptionWriter=photoshop:CaptionWriter
XMP-photoshop\:Category=photoshop:Category
XMP-photoshop\:City=photoshop:City
XMP-photoshop\:Country=photoshop:Country
XMP-photoshop\:Credit=photoshop:Credit
XMP-photoshop\:DateCreated=photoshop:DateCreated
XMP-photoshop\:Headline=photoshop:Headline
XMP-photoshop\:Instructions=photoshop:Instructions
XMP-photoshop\:Source=photoshop:Source
XMP-photoshop\:State=photoshop:State
XMP-photoshop\:SupplementalCategories=photoshop:SupplementalCategories
XMP-photoshop\:TransmissionReference=photoshop:TransmissionReference
XMP-photoshop\:Urgency=photoshop:Urgency 
XMP-xmpRights\:UsageTerms=xmpRights:UsageTerms
XMP-iptcExt\:AdditionalModelInformation=Iptc4xmpExt:AddlModelInfo
XMP-iptcExt\:ArtworkCopyrightNotice=Iptc4xmpExt:AOCopyrightNotice
XMP-iptcExt\:ArtworkCreator=Iptc4xmpExt:AOCreator
XMP-iptcExt\:ArtworkDateCreated=Iptc4xmpExt:AODateCreated
XMP-iptcExt\:ArtworkSource=Iptc4xmpExt:AOSource
XMP-iptcExt\:ArtworkSourceInventoryNo=Iptc4xmpExt:AOSourceInvNo
XMP-iptcExt\:ArtworkTitle=Iptc4xmpExt:AOTitle
XMP-iptcExt\:ControlledVocabularyTerm=Iptc4xmpExt:CVterm
XMP-iptcExt\:DigitalImageGUID=Iptc4xmpExt:DigImageGUID
XMP-iptcExt\:DigitalSourceFileType=Iptc4xmpExt:DigitalSourcefileType
XMP-iptcExt\:DigitalSourceType=Iptc4xmpExt:DigitalSourceType
XMP-iptcExt\:Event=Iptc4xmpExt:Event
XMP-iptcExt\:IPTCLastEdited=Iptc4xmpExt:IptcLastEdited
XMP-iptcExt\:LocationCreatedCity=Iptc4xmpExt:LocationCreatedCity
XMP-iptcExt\:LocationCreatedCountryCode=Iptc4xmpExt:LocationCreatedCountryCode
XMP-iptcExt\:LocationCreatedCountryName=Iptc4xmpExt:LocationCreatedCountryName
XMP-iptcExt\:LocationCreatedProvinceState=Iptc4xmpExt:LocationCreatedProvinceState
XMP-iptcExt\:LocationCreatedSublocation=Iptc4xmpExt:LocationCreatedSublocation
XMP-iptcExt\:LocationCreatedWorldRegion=Iptc4xmpExt:LocationCreatedWorldRegion
XMP-iptcExt\:LocationShownCity=Iptc4xmpExt:LocationShownCity
XMP-iptcExt\:LocationShownCountryCode=Iptc4xmpExt:LocationShownCountryCode
XMP-iptcExt\:LocationShownCountryName=Iptc4xmpExt:LocationShownCountryName
XMP-iptcExt\:LocationShownProvinceState=Iptc4xmpExt:LocationShownProvinceState
XMP-iptcExt\:LocationShownSublocation=Iptc4xmpExt:LocationShownSublocation
XMP-iptcExt\:LocationShownWorldRegion=Iptc4xmpExt:LocationShownWorldRegion
XMP-iptcExt\:MaxAvailHeight=Iptc4xmpExt:MaxAvailHeight
XMP-iptcExt\:MaxAvailWidth=Iptc4xmpExt:MaxAvailWidth
XMP-iptcExt\:ModelAge=Iptc4xmpExt:ModelAge
XMP-iptcExt\:OrganisationInImageCode=Iptc4xmpExt:OrganisationInImageCode
XMP-iptcExt\:OrganisationInImageName=Iptc4xmpExt:OrganisationInImageName
XMP-iptcExt\:PersonInImage=Iptc4xmpExt:PersonInImage
XMP-iptcExt\:RegistryItemID=Iptc4xmpExt:RegItemId
XMP-iptcExt\:RegistryOrganisationID=Iptc4xmpExt:RegOrgId
XMP-plus\:CopyrightOwnerID=plus:CopyrightOwnerID
XMP-plus\:CopyrightOwnerName=plus:CopyrightOwnerName
XMP-plus\:ImageCreatorID=plus:ImageCreatorID
XMP-plus\:ImageCreatorName=plus:ImageCreatorName
XMP-plus\:ImageSupplierID=plus:ImageSupplierID
XMP-plus\:ImageSupplierImageID=plus:ImageSupplierImageID
XMP-plus\:ImageSupplierName=plus:ImageSupplierName
XMP-plus\:LicensorCity=plus:LicensorCity
XMP-plus\:LicensorCountry=plus:LicensorCountry
XMP-plus\:LicensorEmail=plus:LicensorEmail
XMP-plus\:LicensorExtendedAddress=plus:LicensorExtendedAddress
XMP-plus\:LicensorID=plus:LicensorID
XMP-plus\:LicensorName=plus:LicensorName
XMP-plus\:LicensorPostalCode=plus:LicensorPostalCode
XMP-plus\:LicensorRegion=plus:LicensorRegion
XMP-plus\:LicensorStreetAddress=plus:LicensorStreetAddress
XMP-plus\:LicensorTelephone1=plus:LicensorTelephone1
XMP-plus\:LicensorTelephone2=plus:LicensorTelephone2
XMP-plus\:LicensorURL=plus:LicensorURL
XMP-plus\:MinorModelAgeDisclosure=plus:MinorModelAgeDisclosure
XMP-plus\:ModelReleaseID=plus:ModelReleaseID
XMP-plus\:ModelReleaseStatus=plus:ModelReleaseStatus
XMP-plus\:PLUSVersion=plus:Version
XMP-plus\:PropertyReleaseID=plus:PropertyReleaseID
XMP-plus\:PropertyReleaseStatus=plus:PropertyReleaseStatus
stDim\:unit=stDim:unit

View File

@ -529,9 +529,24 @@
{
"transformerName": "IPTCMetadataExtractor",
"supportedSourceAndTargetList": [
{"sourceMediaType": "image/gif", "priority": 60, "targetMediaType": "alfresco-metadata-extract"},
{"sourceMediaType": "image/jp2", "priority": 60, "targetMediaType": "alfresco-metadata-extract"},
{"sourceMediaType": "image/jpeg", "priority": 60, "targetMediaType": "alfresco-metadata-extract"},
{"sourceMediaType": "image/png", "priority": 60, "targetMediaType": "alfresco-metadata-extract"}
],
{"sourceMediaType": "image/png", "priority": 60, "targetMediaType": "alfresco-metadata-extract"},
{"sourceMediaType": "image/tiff", "priority": 60, "targetMediaType": "alfresco-metadata-extract"},
{"sourceMediaType": "image/webp", "priority": 60, "targetMediaType": "alfresco-metadata-extract"},
{"sourceMediaType": "image/x-raw-adobe", "priority": 60, "targetMediaType": "alfresco-metadata-extract"},
{"sourceMediaType": "image/x-raw-canon", "priority": 60, "targetMediaType": "alfresco-metadata-extract"},
{"sourceMediaType": "image/x-raw-fuji", "priority": 60, "targetMediaType": "alfresco-metadata-extract"},
{"sourceMediaType": "image/x-raw-hasselblad", "priority": 60, "targetMediaType": "alfresco-metadata-extract"},
{"sourceMediaType": "image/x-raw-kodak", "priority": 60, "targetMediaType": "alfresco-metadata-extract"},
{"sourceMediaType": "image/x-raw-minolta", "priority": 60, "targetMediaType": "alfresco-metadata-extract"},
{"sourceMediaType": "image/x-raw-nikon", "priority": 60, "targetMediaType": "alfresco-metadata-extract"},
{"sourceMediaType": "image/x-raw-olympus", "priority": 60, "targetMediaType": "alfresco-metadata-extract"},
{"sourceMediaType": "image/x-raw-panasonic", "priority": 60, "targetMediaType": "alfresco-metadata-extract"},
{"sourceMediaType": "image/x-raw-pentax", "priority": 60, "targetMediaType": "alfresco-metadata-extract"},
{"sourceMediaType": "image/x-raw-sony", "priority": 60, "targetMediaType": "alfresco-metadata-extract"}
],
"transformOptions": [
"metadataOptions"
]