No ha mencionado qué sistema operativo está ejecutando. Estoy usando Ubuntu, y he podido usar librsvg2 con éxito.
Si tiene acceso a Ubuntu, esto es lo que puede hacer. Primero, instala librsvg2:
sudo apt-get install librsvg2-bin
Luego, cd
al directorio que tiene sus SVG (¡asegúrese de que solo tenga SVG!) Y use un comando como el siguiente:
for old in *; do
new="$(echo "$old" | sed -e 's/svg$/new.svg/')"
rsvg-convert "$old" -w 160 -h 160 -f svg -o "$new"
done
Esto creará un nuevo lote de SVG con dimensiones de 200 px por 200 px, y se guardará como "original-file-name.new.svg"
Calcular dimensiones es algo confuso. Para convertir SVG a SVG, necesitas hacer un poco de matemática. Las opciones de "altura" y "ancho" en rsvg-convert usan pt, no px, en tales casos, así que usa 80 si quieres 100px, 120 si quieres 150px, y así sucesivamente.
También puede usar rsvg-convert para generar PNG. Es mucho mejor rasterizar el archivo que ImageMagick, al menos en mi experiencia. Tenga en cuenta que necesita cambiar -f
a png
, necesita cambiar el patrón de guardado de salida de 's/svg$/new.svg/'
a 's/svg$/png/'
e ingresa el ancho y la altura que desea como valores de píxel.
for old in *; do
new="$(echo "$old" | sed -e 's/svg$/png/')"
rsvg-convert "$old" -w 200 -h 200 -f png -o "$new"
done