Как сохранить идентификатор элемента при редактировании SVG в Adobe Illustrator?

Я работаю над процессом, в котором мы будем генерировать SVG с идентификаторами на определенных элементах. Я хочу иметь возможность редактировать SVG в Adobe Illustrator. Тем не менее, я обнаружил, что когда я редактирую файл в Illustrator, все идентификаторы изменяются.

можно ли заставить Illustrator сохранить мои документы?

20
задан Joe
02.01.2023 4:49 Количество просмотров материала 3383
Распечатать страницу

2 ответа

Я пытаюсь использовать Illustrator с svg уже несколько лет, но с переменным успехом. Это обычно сохраняет идентификаторы, если вы сохраняете в наиболее разрешительном формате (SVG 1.1); но он действительно любит переписывать различные элементы svg в свой собственный способ мышления о них. I сильно не рекомендуется использовать Illustrator для редактирования svg-файлов, в которых требуется чистая и аккуратная разметка. Вместо этого можно использовать Inkscape.

3
отвечен marcus erronius 2023-01-03 12:37

Так я знаю, что этот вопрос был задан давно. Поскольку Inkscape работает довольно медленно через x11 на Mac, я решил опубликовать свое решение здесь, если оно поможет кому-то другому.

если на вашем mac установлен python, вы можете использовать этот скрипт для изменения svg перед его открытием в illustrator. Затем, после того, как вы закончите редактирование, в основном сделайте противоположное, чтобы опубликовать новый attr обратно в поле id. Вид шаткий, но производительность illustrator сделал это лучше, чем страдать с Inkscape для меня -

from bs4 import BeautifulSoup

svg = open('myawesome.svg', 'r').read()

soup = BeautifulSoup(svg)

paths = soup.findAll('path')

for p in paths:
    p['inkscape:temp_id'] = p['id']

    html = p.prettify("utf-8")
    with open("output.svg", "a") as file:
        file.write(html)

фокус в том, чтобы открыть исходный SVG в текстовом редакторе и заменить путь на вывод этого скрипта. Когда вы закончите в illustrator, скопируйте этот скрипт python и скопируйте 'inkscape: temp_id' обратно в p['id'] (в отличие от первого раза), а затем вы настроены.

надеюсь, это поможет кому-то там. Сегодня я потратил 4 часа, выясняя, как сохранить идентификатор элемента в illustrator для проекта, над которым я работаю, и это лучшее Я мог придумать. Удачи вам!

0
отвечен Wes 2023-01-03 14:54

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх