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.

Буду рад любым советам.
  • Вопрос задан
  • 20 просмотров
Решения вопроса 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 .
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
ZClick Москва
от 50 000 до 200 000 руб.
Protoplan Краснодар
от 80 000 до 150 000 руб.
19 июл. 2019, в 21:28
990 руб./за проект
19 июл. 2019, в 21:02
2000 руб./за проект