Вот моя попытка регулярного выражения. Замена происходит на месте, поэтому сделайте копию документа перед тем, как начать.
Этот вариант работает, когда присутствует массив цветов:
$ perl -pi -e 's/(\/Type.*\/Annot.*\/Subtype.*\/Highlight.*\/C\s*\[)[^]]*]/${1}0.5 0.5 0.5]/' document.pdf
Этот вариант используется, когда массив цветов не указан (по умолчанию черный):
$ perl -pi -e 's/(?=\/Type.*\/Annot.*\/Subtype.*\/Highlight)(?!\C\s*\[)(.*)Highlight/$1Highlight\/C[0.5 0.5 0.5]/' document.pdf
Если первая команда не работает, попробуйте другую. Если второй сработал, то для последующих смен цвета используйте первый.
Замените 0,5 0,5 0,5
своим любимым цветом, например
0 0 1
для синего (0/255 0/255 255/255), 1 1 0
для желтого (255/255 255/255 0/255) или 1 0,8745098039 0,3607843137
для сорта апельсина (255/255 253/255 92/255).