Mobile app version of vmapp.org
Login or Join
Si6392903

: Batch convert svg to psd I'm trying to use a bunch of svg icons on something I'm designing. Photoshop doesn't process svgs, apparently. I read Illustrator does and that I can just export it

@Si6392903

Posted in: #AdobeIllustrator #AdobePhotoshop #Svg

I'm trying to use a bunch of svg icons on something I'm designing. Photoshop doesn't process svgs, apparently. I read Illustrator does and that I can just export it into psds. That much is managable but the problem is there are 300+ icons and I thought I'd just turn them all into psds in case I ever need them in the future.

How exactly do I do that? I'm using the CS5 suite.

10.02% popularity Vote Up Vote Down


Login to follow query

More posts by @Si6392903

2 Comments

Sorted by latest first Latest Oldest Best

 

@Kristi927

I suggest to use Inkscape and your command line to convert it to a png, jpg or whatever. Following command converts a single svg file to a 1024x1024px png:

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


Inkscape has mighty command line options, with the -z argument you can run inkscape headless (without a gui). You only have to pass your disired image format, dimensions and image name. See the docs for more information.

To Batch process a folder of svgs you can use a programming language of your choice and iterate through the files. I've used linux with python 2.7+ (platform independent) here:

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:somedirectorysvgs' # windows, the r is important
# path = 'c:/some/directorysvgs' # 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])


To convert a png or whatever to psd file use ImageMagick. The command is simple:

convert test.png test.psd


See the docs for more information. Batch process the png files to psd files via python again:

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:somedirectorypngs' # windows, the r is important
# path = 'c:/some/directorypngs' # 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])


Generated files are working for me in Photoshop CS4+.

Note: Converting the files in one iteration is also possible of course, but I thought for illustration purposes it's easier to split up the process.

10% popularity Vote Up Vote Down


 

@Hamaas979

RabBits, I think right now no solution for SVG to Photoshop support, may be will come later. For the time solution you can open the file Illustrator-->File-->Export-->Format-->Photoshop (psd)-->OK.



Then you can open the file to Photoshop for edit.

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme