kolumbou
@kolumbou
python, html, c#

Как записать в изображение XPKeywords тэги?

Доброго времени суток!

Мне необходимо на python 3 каким-то образом задавать указанным изображениям тэги XPKeywords, которые в свою очередь находятся в разделе описания изображения:

5d2342d839485195691298.png

Нашел несколько способов их считывать, например с помощью PIL.ExifTags и с exifread, но как я смог понять возможность записи они не предоставляют.

Есть вариант записи названия и темы с помощью такого:

import piexif

def insert_sample():
    zeroth_ifd = {270: "test"}
    exif_bytes = piexif.dump({"0th":zeroth_ifd})
    piexif.insert(exif_bytes,'img.jpg')

insert_sample()


Но если заменить id 270 на 40094, означающий нужные XPKeywords, то получаем ошибку struct.error.

Буду рад любым советам.
  • Вопрос задан
  • 75 просмотров
Решения вопроса 1
kolumbou
@kolumbou Автор вопроса
python, html, c#
Только создал тему и сразу нашел решение.

def insert_sample(tags):
    zeroth_ifd = {40094: tags.encode('utf16')}
    exif_bytes = piexif.dump({"0th":zeroth_ifd})
    piexif.insert(exif_bytes,'test.jpeg')

insert_sample()


где 40094 - id, отвечающий за XPKeywords. Обязательно к тэгам применяем encode в utf16.
Список всех доступных id https://exiv2.org/tags.html .
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы