EN
Inkscape - batch export / convert svg graphics to png from bash console
7
points
Using Inkscape and Bash on Microsoft Windows it is possible to export many *.svg graphics to *.png in the following way.
Note: in the below scripts we use
inkscapecommand described in this article.
Note: to know how to install Bash under Windows go to this article.
1. 1x1 size radio export script example
export-1x1.sh file:
#!/bin/bash
program="/C/Program Files/Inkscape/bin/inkscape.exe"
# program="/C/Program Files/Inkscape/inkscape.exe"
target="png-$1"
mkdir "${target}"
for i in *.svg
do
"${program}" --export-type="png" --export-filename="${target}/${i}.png" -w $1 -h $1 "${i}"
# "${program}" -z -e "${target}/${i}.png" -w $1 -h $1 "${i}"
done
Notes:
export-1x1.shfile should be placed in the*.svggraphics directory,programvariable should be updated with actualinkscape.exepath.
Running:
./export-1x1.sh 40
Note:
40means the size of output graphics will be 40x40 px.
2. Export script to custom size example
export.sh file:
#!/bin/bash
# program="/C/Program Files/Inkscape/inkscape.exe"
program="/C/Program Files/Inkscape/bin/inkscape.exe"
target="png-${1}x${2}"
mkdir "${target}"
for i in *.svg
do
"${program}" --export-type="png" --export-filename="${target}/${i}.png" -w "$1" -h "$2" "${i}"
# "${program}" -z -e "${target}/${i}.png" -w "$1" -h "$2" "${i}"
done
Running:
./export.sh 40 50
Note:
40 50means the size of output graphics will be 40x50 px.