Не удалось получить полный текст заголовка из метаданных JPEG

Это тесно связано с Извлечение ключевых слов IPTC длиной более 64 символов в Java . Пожалуйста, смотрите мои комментарии там.

Проблема заключается в том, что заголовок, добавленный к файлу JPEG в Adobe Bridge как «Заголовок документа» на вкладке описания (также показанный как «Заголовок» на вкладке «Сведения» диалогового окна «Свойства файла Windows»), заканчивается в двух местах в файле JPEG. , как видно в шестнадцатеричном отображении файла. У одного есть полное название, а у другого всего 64 символа.

Я могу получить усеченный (имя тега «Имя объекта»), получив все описания тегов во всех каталогах метаданных, но я не могу получить полное название.

Вот пример файла со встроенным заголовком «Раннее утро на косе между пляжным клубом Вайохай и пляжным парком Поипу»:

пример файла с метаданными


person Photomungus    schedule 09.10.2016    source источник
comment
Упомянутый связанный вопрос: stackoverflow.com/q/38399216/24874   -  person Drew Noakes    schedule 10.10.2016
comment
Относятся ли шестнадцатеричные дампы в вашем не-ответе к этому вопросу? Тогда, пожалуйста, добавьте их сюда, так что вопрос стоит сам по себе. Не волнуйтесь, если вы не можете вставлять изображения — кто-то, кто может, обязательно сделает это за вас.   -  person Jongware    schedule 10.10.2016


Ответы (1)


Я был бы рад взглянуть на это для вас. Однако imgur удалил метаданные из этого файла.

Не могли бы вы вместо этого открыть вопрос в проекте GitHub? У любого прикрепленного изображения не будут удалены метаданные:

https://github.com/drewnoakes/metadata-extractor/issues/new

Также укажите, даете ли вы разрешение на использование изображения в наборе данных регрессионного тестирования проекта.


Что я вижу из вашего другого поста, так это то, что более длинная форма, на которую вы ссылаетесь:

Эта строка находится в данных XMP (о чем свидетельствует окружающий ее RDF XML). Вы можете получить к нему доступ с помощью кода, похожего на:

// Extract metadata from the image
Metadata metadata = ImageMetadataReader.readMetadata(image);

// Iterate through any XMP directories we may have received
for (XmpDirectory xmpDirectory : metadata.getDirectoriesOfType(XmpDirectory.class)) {

    // Usually with metadata-extractor, you iterate a directory's tags. However XMP has
    // a complex structure with many potentially unknown properties. This doesn't map
    // well to metadata-extractor's directory-and-tag model.
    //
    // If you need to use XMP data, access the XMPMeta object directly.
    XMPMeta xmpMeta = xmpDirectory.getXMPMeta();

    // Iterate XMP properties
    XMPIterator itr = xmpMeta.iterator();
    while (itr.hasNext()) {
        XMPPropertyInfo property = (XMPPropertyInfo) itr.next();

        // Print details of the property
        System.out.println(property.getPath() + ": " + property.getValue());
    }
}

Я все еще хотел бы увидеть образец изображения, но, увидев ваши скриншоты из шестнадцатеричного редактора, я подозреваю, что Adobe Bridge усекает строку до 64 байтов для IPTC. Быстрый поиск в Интернете показывает, что это максимальная длина поля ключевых слов IPTC.

person Drew Noakes    schedule 09.10.2016
comment
Каталог XMP был тем, что мне было нужно. Полный текст заголовка находится в свойстве с путем dc:title[1]. Спасибо. Я загружу изображение на GitHub. - person Photomungus; 11.10.2016