Exporte múltiples archivos SVG generados con Inkscape a múltiples archivos PDF

Tengo alrededor de 150 archivos SVG creados en Inkscape. ¿Hay alguna utilidad que pueda exportar todo esto a múltiples archivos PDF o PNG?

Exportar individualmente consume demasiado tiempo, por lo que me preguntaba si podría hacerlo en un lote con alguna utilidad/software.

Se prefiere Windows.

Respuestas (7)

Para las personas que llegaron aquí desde una búsqueda en Google porque esta pregunta hace referencia a Inkscape pero no está etiquetada con Windows, aquí hay un instructivo completo para Linux (esto supone que tiene Inkscape instalado en su sistema, probado en Ubunut 14.04 con Inkscape 0.91).

Cree un archivo en el directorio donde desea convertir sus archivos SVG a PDF . (Utilicé gedita continuación, pero también podría reemplazarlo con el editor de texto de su elección)

gedit convertSVGtoPDF.sh

Pegue el siguiente código dentro

#!/bin/bash
mkdir "$PWD"/pdf
for file in $PWD/*.svg
    do
        filename=$(basename "$file")
        inkscape "$file" -d 1200 -A "$PWD"/pdf/"${filename%.svg}.pdf"
    done

Puede modificar la resolución de salida deseada modificando el valor después de la opción -d.

Guarda el archivo.

Ahora haga que este script sea ejecutable

sudo chmod +x convertSVGtoPDF.sh

Y ejecútelo dentro de su directorio que contiene los SVG s

./convertSVGtoPDF.sh

Esto creará una nueva carpeta llamada pdf donde podrá encontrar sus archivos PDF con fuentes incrustadas.

¡Feliz Inkscape!

Hola A__, bienvenido a GDSE y gracias por tu respuesta. Si tiene alguna pregunta, consulte el centro de ayuda o comuníquese con uno de nosotros en el chat de diseño gráfico una vez que su reputación sea suficiente (20). ¡Sigue contribuyendo y disfruta del sitio!
Esto también sería posible en Windows usando un script por lotes de powershell, aunque vale la pena mencionar esta peculiaridad menor sobre la línea de comandos de Inkscape en Windows.
Esto funcionó para mí, excepto que tuve que eliminar $PWD/. No funcionó porque había espacios en la ruta de mi directorio.
Usé esto para convertir PDF a SVG usando pdf2svg. Excelente respuesta!
Probado en Ubuntu 16.04. ¡Excelente!

Algunas otras opciones de herramientas para convertir a/desde SVG desde Inkscape Wiki :

Empecé a usar ConversionSVG. Increíble, era ligero. Sin pretensiones, justo lo que estaba buscando. Muchas gracias

Puede hacer esto usando la interfaz de línea de comandos de Inkscape ( inkscape --without-gui --export-pdf=myfile.pdf myfile.svg), y luego usar un archivo por lotes, un script de shell o una herramienta de compilación (como Make, Rake o Grunt) para ejecutarlo automáticamente en una lista completa de archivos.

Después de buscar en varios sitios, encontré una manera simple usando solo una línea de comando.

Nunca antes había usado la línea de comandos, pero después de algunos experimentos, llegué a la siguiente solución:

for /f "tokens=1* delims=." %i in ('dir /b *.svg') do "C:\Program Files\Inkscape\inkscape.exe" --without-gui --file="%i.svg" --export-emf="%i.emf"

Desglosándolo:

for

for es un comando para realizar una acción en varios archivos. Su estructura es algo así como: para "archivos en una determinada condición" haga "comando específico"

/f "tokens=1* delims=." %i in ('dir /b *.svg')

Esta es la "condición". En mi caso, busco todos los archivos SVG, pero por supuesto funciona con otros formatos. Todo lo que hace este código "elegante" es almacenar el nombre del archivo, antes de la extensión, en la variable "%i". Esto será útil en el comando.

do

Eso es lo que vas a realizar en todos los archivos.

"C:\Program Files\Inkscape\inkscape.exe" --without-gui --file="%i.svg" --export-emf="%i.emf"

Este es el mismo comando que Marnen Laibow-Koser usó anteriormente. Soy un novato, no sé cómo se usa solo "inkscape", así que he llegado hasta el .exe.

La última parte es donde usamos la variable para indicarle al programa qué archivo debe seleccionar y cómo exportar.

Nuevamente, estoy exportando SVG a EMF, pero simplemente cámbielo a lo que desee. He aquí por qué las variables son tan importantes. Así que puedes mantener el mismo nombre, solo cambiando la extensión.

No olvide usar las comillas, ya que sus archivos pueden tener algo de espacio en su nombre.

Por supuesto, también debe estar en la carpeta donde se encuentran sus archivos. Si tu también eres un novato haz esto:

C:\

Te pondrá en la unidad correcta.

CD "path"

Te llevará a la carpeta específica. Puede usar el explorador de Windows y hacer clic con el botón derecho y copiar la ruta como texto.

Eso es todo. Soy novato, así que podría ser más efectivo hacerlo, pero esto funcionará.

Último consejo: si está trabajando con muchos archivos, puede usar CTRL + C para detener la línea de comando si no funciona como debería e intentarlo de nuevo.

Este enlace parece tener lo que desea: Exportación por lotes desde Inkscape en Windows.

Desafortunadamente, el enlace no funciona y parece que se abandonó InkscapeBatch.

Suponiendo que tiene nombres de archivo consecutivos.

Suponiendo que está utilizando macOS.

INDIR='3. SVGs/svgs-front'
OUTDIR='4. Individual PDFs/pdfs-front'
seq 1 100 | while read row; do
  echo Processing $row
  /Applications/Inkscape.app/Contents/MacOS/inkscape -o $OUTDIR/$row.pdf --without-gui $INDIR/$row.svg 
done

Para mí, la mejor manera de hacerlo es zamzar.com , que es un sitio gratuito de conversión de archivos en línea. Permite al usuario convertir archivos sin descargar una herramienta de software y admite más de 1000 tipos de conversión diferentes.

Hola usuario17598, bienvenido a GDSE y gracias por tu contribución. ¿Podría contarnos un poco más sobre lo que podemos encontrar en su enlace? Nos gustaría que su publicación sea útil para futuros visitantes, incluso en el caso de que se rompa el enlace. ¡Gracias y disfrute de su estancia!