Пакетное преобразование svg в psd

Я пытаюсь использовать кучу значков svg для чего-то, что я разрабатываю. Photoshop не обрабатывает svgs, по-видимому. Я читал, что Illustrator делает, и что я могу просто экспортировать его в psds. С этим можно справиться, но проблема в том, что есть более 300 значков, и я подумал, что просто превращу их все в psd на случай, если они мне когда-нибудь понадобятся в будущем.

Как именно мне это сделать? Я использую пакет CS5.

Вы понимаете, что преобразование svg в psd на самом деле является шагом назад с точки зрения качества, верно? «В будущем» будет склоняться к сохранению формата svg и использованию более новых приложений.
Вам нужно уточнить, что вы хотите от вас psds. Вы хотите сглаженное пиксельное изображение векторных путей svg или psd?
@Scott Почему это должно быть «шагом назад»? Разные типы носителей поддерживают разные типы файлов — есть несколько причин для растеризации вектора. В примечании следует указать, что изображение нельзя редактировать как вектор.
Photoshop не может сохранять настоящий векторный контент , так что это шаг назад.

Ответы (2)

Я предлагаю использовать Inkscape и вашу командную строкуpng , чтобы преобразовать его в jpg. Следующая команда преобразует один файл svg в png размером 1024x1024px:

inkscape -z -e test.png -w 1024 -h 1024 test.svg

Inkscape имеет мощные параметры командной строки, с -zаргументом вы можете запускать inkscape без головы (без графического интерфейса). Вам нужно только передать желаемый формат изображения, размеры и имя изображения. См. документы для получения дополнительной информации.

Для пакетной обработки папки svgs вы можете использовать язык программирования по вашему выбору и перебирать файлы. Я использовал linux с python 2.7+ (независимо от платформы) здесь:

import os # import os module
import subprocess # import subprocess module to call inkscape with python

# set the path to your svg folder
path = '/home/user/Desktop/svgs'   # linux or osx 
# path = r'c:\some\directory\svgs' # windows, the r is important
# path = 'c:/some/directory\svgs'  # windows (alternative)

# collect all svgs in this folder
svg_files = [f for f in os.listdir(path) if f.endswith('.svg')] 

# iterate through the files
for i in svg_files:
    # setup correct filepath for inkscape
    file_path = os.path.join(path,i)
    # generate file the with a png extension
    png_path = os.path.splitext(file_path)[0] + '.png'
    # call inkscape with the correct arguments like in the example above 
    subprocess.call(['inkscape', '-z', '-e', png_path, '-w 1024', '-h 1024', file_path])

Чтобы преобразовать png или что-то еще в файл psd, используйте ImageMagick . Команда проста:

convert test.png test.psd

См. документы для получения дополнительной информации. Пакетная обработка файлов png в файлы psd через python снова:

import os # import os module
import subprocess # import subprocess module

# set the path to your svg folder
path = '/home/user/Desktop/pngs'    # linux or osx
# path = r'c:\some\directory\pngs'  # windows, the r is important
# path = 'c:/some/directory\pngs'   # windows (alternative)

# collect all pngs in this folder
png_files = [f for f in os.listdir(path) if f.endswith('.png')] 

# iterate through the files
for i in png_files:
    # setup correct filepath for pngs
    file_path = os.path.join(path,i)
    # generate file the with a psd extension
    psd_path = os.path.splitext(file_path)[0] + '.psd'
    # call imagemagick with the correct arguments
    subprocess.call(['convert', png_path, psd_path])

Сгенерированные файлы у меня работают в Photoshop CS4+ .

Примечание. Преобразование файлов за одну итерацию, конечно, также возможно, но я подумал, что для наглядности проще разделить процесс.

Итак, все фигуры и слои в svg будут объединены в один растровый слой psd?

Rabbit, я думаю, что сейчас нет решения для поддержки SVG в Photoshop, возможно, появится позже. Для временного решения вы можете открыть файл Illustrator-->Файл-->Экспорт-->Формат-->Фотошоп (psd)-->ОК.

введите описание изображения здесь

Затем вы можете открыть файл в Photoshop для редактирования.

Точно. Запишите вышеприведенное с помощью действия Illustrator, и все готово.