Tengo estos SVGS y me gustaría exportarlos a imágenes PNG, podría exportarlos con Inkscape, pero eso significaría abrir cada archivo y exportar ese archivo a PNG que no es eficiente (tengo cientos de ellos).
¿Cómo puedo hacer esto?
Inspirado por la respuesta previamente aceptada, se me ocurrió esta frase:
Para Inkscape versión 0.92.4 y anterior:
for file in *.svg; do inkscape $file -e ${file%svg}png; done
De esta manera no necesita llamar a un script. Si quisieras, podrías crear un alias para convertir todos los svgs en el directorio actual a pngs:
alias svgtopng='for file in *.svg; do inkscape $file -e ${file%svg}png; done'
Para Inkscape versión 1.0 Beta y posterior:
for file in *.svg; do inkscape $file -o ${file%svg}png; done
De esta manera no necesita llamar a un script. Si quisieras, podrías crear un alias para convertir todos los svgs en el directorio actual a pngs:
alias svgtopng='for file in *.svg; do inkscape $file -o ${file%svg}png; done'
${file%svg}png
es un gran truco! No había visto eso antes.Parece que puedes usar Inkscape desde la línea de comandos:
más detalles
Me imagino que puedes escribir un script bash simple para procesar todos los archivos SVG:
el ejemplo anterior convierte todos los archivos .svg en el directorio actual, agregando la extensión .png a los archivos de salida.
fuente
${file%svg}png
. Puedes leer aquí para más posibilidades.Guión gráfico de Nautilus
Visión general
La línea de comando es ideal para las conversiones por lotes, pero a veces simplemente no desea dejar la comodidad de su GUI. Es por eso que codifiqué un script Nautilus basado en GUI para convertir por lotes archivos SVG a imágenes PNG. También deberían admitirse otros administradores de archivos con acciones personalizadas (por ejemplo, Thunar).
Captura de pantalla
Guión
Intentaré mantener esta respuesta actualizada, pero consulte mi repositorio de Github para obtener la última versión del script.
Instalación
Las instrucciones de instalación genéricas para todos los scripts de Nautilus se pueden encontrar aquí . Los siguientes comandos deben cubrir todas las dependencias necesarias:
Para obtener más información, consulte el encabezado del script anterior.
Uso
Después de instalar el script, debería poder invocarlo desde el menú contextual del administrador de archivos. Simplemente seleccione uno o más archivos SVG y haga clic en la entrada correspondiente en su menú contextual. Un cuadro de diálogo GUI debería tener varias opciones relacionadas con la conversión.
Puede convertir el SVG basado en DPI o ancho. La relación de aspecto se conservará en ambos casos. Asegúrese de proporcionar su DPI o ancho de elección antes de hacer clic en los botones de conversión.
También puede elegir entre exportar el archivo SVG completo o solo el dibujo recortado. Si su lienzo SVG tiene mucho espacio vacío, es recomendable elegir "Dibujo" como opción de exportación.
fuente
Aquí hay una solución alternativa ligeramente diferente en un lenguaje de script más legible: python. Puede exportar por lotes todos sus svgs. Particularmente ideal si está haciendo un desarrollo de Android y tiene que hacer múltiples pngs desde un solo svg.
Descargo de responsabilidad: escribí la lib. Espero que ayude a alguien.
Haga clic aquí .
Para un uso simple, descargue la biblioteca en una carpeta, coloque los svgs en la misma carpeta, luego ejecute
en la línea de comando / terminal después de ti
cd
a la carpeta. Para opciones más avanzadas, consulte el archivo README .fuente
Si no todos los archivos, pero solo ciertos archivos SVG necesitan convertirse a PNG, uno podría usar
sed
para generar automáticamente los nombres de los archivos:fuente