public void handle(Directory directory, Metadata metadata) throws MetadataException { if (directory.containsTag(IptcDirectory.TAG_KEYWORDS)) { String[] keywords = directory.getStringArray(IptcDirectory.TAG_KEYWORDS); for (String k : keywords) { metadata.add(TikaCoreProperties.SUBJECT, k); } } if (directory.containsTag(IptcDirectory.TAG_HEADLINE)) { metadata.set(TikaCoreProperties.TITLE, directory.getString(IptcDirectory.TAG_HEADLINE)); } else if (directory.containsTag(IptcDirectory.TAG_OBJECT_NAME)) { metadata.set(TikaCoreProperties.TITLE, directory.getString(IptcDirectory.TAG_OBJECT_NAME)); } if (directory.containsTag(IptcDirectory.TAG_BY_LINE)) { metadata.set(TikaCoreProperties.CREATOR, directory.getString(IptcDirectory.TAG_BY_LINE)); metadata.set(IPTC.CREATOR, directory.getString(IptcDirectory.TAG_BY_LINE)); } if (directory.containsTag(IptcDirectory.TAG_CAPTION)) { metadata.set(TikaCoreProperties.DESCRIPTION, // Looks like metadata extractor returns IPTC newlines as a single carriage return, // but the exiv2 command does not so we change to line feed here because that is less surprising to users directory.getString(IptcDirectory.TAG_CAPTION).replaceAll("\r\n?", "\n")); } } }
Directory directory; // Keywords directory = metadata.getDirectory(IptcDirectory.class); String keywords[] = directory.getStringArray(IptcDirectory.TAG_KEYWORDS); // Dimensions directory = metadata.getDirectory(JpegDirectory.class); String height = directory.getString(JpegDirectory.TAG_JPEG_IMAGE_HEIGHT); String width = directory.getString(JpegDirectory.TAG_JPEG_IMAGE_WIDTH);
public void handle(Directory directory, Metadata metadata) throws MetadataException { if (directory.containsTag(IptcDirectory.TAG_KEYWORDS)) { String[] keywords = directory.getStringArray(IptcDirectory.TAG_KEYWORDS); for (String k : keywords) { metadata.add(TikaCoreProperties.KEYWORDS, k); } } if (directory.containsTag(IptcDirectory.TAG_HEADLINE)) { metadata.set(TikaCoreProperties.TITLE, directory.getString(IptcDirectory.TAG_HEADLINE)); } else if (directory.containsTag(IptcDirectory.TAG_OBJECT_NAME)) { metadata.set(TikaCoreProperties.TITLE, directory.getString(IptcDirectory.TAG_OBJECT_NAME)); } if (directory.containsTag(IptcDirectory.TAG_BY_LINE)) { metadata.set(TikaCoreProperties.CREATOR, directory.getString(IptcDirectory.TAG_BY_LINE)); metadata.set(IPTC.CREATOR, directory.getString(IptcDirectory.TAG_BY_LINE)); } if (directory.containsTag(IptcDirectory.TAG_CAPTION)) { metadata.set(TikaCoreProperties.DESCRIPTION, // Looks like metadata extractor returns IPTC newlines as a single carriage return, // but the exiv2 command does not so we change to line feed here because that is less surprising to users directory.getString(IptcDirectory.TAG_CAPTION).replaceAll("\r\n?", "\n")); } } }
public void handle(Directory directory, Metadata metadata) throws MetadataException { if (directory.containsTag(IptcDirectory.TAG_KEYWORDS)) { String[] keywords = directory.getStringArray(IptcDirectory.TAG_KEYWORDS); for (String k : keywords) { metadata.add(TikaCoreProperties.KEYWORDS, k); } } if (directory.containsTag(IptcDirectory.TAG_HEADLINE)) { metadata.set(TikaCoreProperties.TITLE, directory.getString(IptcDirectory.TAG_HEADLINE)); } else if (directory.containsTag(IptcDirectory.TAG_OBJECT_NAME)) { metadata.set(TikaCoreProperties.TITLE, directory.getString(IptcDirectory.TAG_OBJECT_NAME)); } if (directory.containsTag(IptcDirectory.TAG_BY_LINE)) { metadata.set(TikaCoreProperties.CREATOR, directory.getString(IptcDirectory.TAG_BY_LINE)); metadata.set(IPTC.CREATOR, directory.getString(IptcDirectory.TAG_BY_LINE)); } if (directory.containsTag(IptcDirectory.TAG_CAPTION)) { metadata.set(TikaCoreProperties.DESCRIPTION, // Looks like metadata extractor returns IPTC newlines as a single carriage return, // but the exiv2 command does not so we change to line feed here because that is less surprising to users directory.getString(IptcDirectory.TAG_CAPTION).replaceAll("\r\n?", "\n")); } } }