¿Cómo exportar un archivo SVG de Inkscape a un PDF y mantener la integridad de la imagen?

Tiene problemas para que Inkscape exporte archivos PDF de forma limpia y no parece haber muchos recursos útiles disponibles. En particular, las transparencias son difíciles: a veces, la transparencia desaparecerá y, a veces, se convertirá en un bloque sólido.

He jugado con la configuración de guardar como PDF en Inkscape y he impreso en un PDF usando CutePDF sin éxito. ¿Hay algún método para exportar o crear un archivo para poder obtener resultados predecibles?

Con suerte, @ DA01 participará aquí. Está profundamente familiarizado con Inkscape.
No diría profundamente... pero soy fanático de eso. No sé la respuesta, pero supongo que SVG y PDF son simplemente formatos de archivo diferentes y admiten diferentes partes de cada especificación. Hay muchas cosas que puede hacer con SVG en términos de transparencia, desenfoque, combinación y similares, y asumo que PDF simplemente no lo admite todavía. Es posible que primero deba ejecutar el SVG a través de Adobe Illustrator con la esperanza de que AI lo convierta a un formato con el que el PDF esté satisfecho.
Inkscape ha pasado por algunas actualizaciones desde que se hizo esta pregunta. Me gustaría saber dónde se encuentra esta situación ahora y si hay partes específicas de la conversión de SVG a PDF que aún son problemáticas.

Respuestas (22)

Inkscape (v1.0) admite opciones de línea de comandos , y así es como prefiero hacerlo:

inkscape mySVGinputFile.svg --export-area-drawing --batch-process --export-type=pdf --export-filename=output.pdf

Antes de la versión 1.0, las opciones de la línea de comandos eran diferentes. A partir de Inkscape (v0.91), este era el equivalente:

inkscape --file=mySVGinputFile.svg --export-area-drawing --without-gui --export-pdf=output.pdf

Este es en realidad el comando que utiliza LyX para preparar imágenes SVG para su uso en LaTeX. He usado PlantUML para generar SVG, que luego pasa a PDF.

Aquí hay una captura de pantalla del SVG en Inkscape, que tiene una representación vectorial pura (incluidas las fuentes).

SVG en paisaje de tinta

Aquí hay una captura de pantalla del PDF ampliado, con una selección del texto "oo" del bucle de palabras, que muestra que todavía es texto en el PDF:

PDF en Acrobat

Esto funcionó muy bien. FYI, la herramienta de línea de comandos de Mac OS se encuentra en: /Applications/Inkscape.app/Contents/Resources/bin/inkscape- inserte su --file=/My/File.svgetc. después de eso.
Lo probé con una fuente base64 personalizada, pero aparentemente Inkscape (0.92) no la admite.
@xamid si está en Windows 10, podría ser este: reddit.com/r/Inkscape/comments/bg0rkm/…

En realidad, esto se ha preguntado y respondido aquí para usuarios de Linux.

Necesitas instalar librsvg2-bin. Solo agregaré que deberá ajustar la página a su svg; de lo contrario, se truncará. Dentro de Inkscape: Archivo -> Propiedades del documento -> Seleccione sus objetos svg -> ajuste la página a la selección.

Entonces solo ejecuta:

rsvg-convert -f pdf in.svg > out.pdf
Esta es, de lejos, la mejor respuesta: ¡solo una que funcionó!
Esta herramienta ni siquiera mantiene el tamaño de fuente correcto, y mucho menos el tipo de letra correcto.

En el menú principal, elige:

Archivo → Imprimir... → Imprimir a archivo

Aquí puede elegir guardar el archivo como PDF, PostScript o SVG.

¿Está tratando de exportar a .PDF para mantener las capacidades de edición? De lo contrario, si está tratando de compartir una imagen con alguien de Inkscape, guárdela como .JPG o .PNG (si se necesita un fondo translúcido).

En el pasado, intentar guardar como PNG/jpeg reducía notablemente el tamaño físico y la resolución de la imagen. ¿Quizás lo estoy haciendo mal?
¿Tienes la última versión de Inkscape descargada?
@Zelbinian, un SVG no tiene tamaño ni resolución inherentes. Solo cuando desea exportar como PNG, Inkscape solicitará un tamaño. Especifique que sea tan grande como desee.
Cambiar una imagen vectorial a una imagen raster definitivamente no mantendrá (otros aspectos de) la integridad de la imagen.

En un sistema operativo Linux, exporto a PNG y luego uso la herramienta de conversión para convertirlo a PDF.

+1 Esta no es una mala respuesta... y es, de hecho, un método que he usado para sortear las fallas de Inkscape al enmascarar formas (que 'explotan' cuando se convierten directamente a PDF). Para archivos SVG complejos que Inkscape no puede convertir completamente en un PDF, la rasterización es una solución viable a veces.
Esto perderá totalmente cualquier parecido de calidad y vectoridad que tenga y, por lo tanto, no es adecuado.

Me encanta usar Inkscape para dibujar: es mucho más intuitivo que Illustrator y produce resultados muy profesionales.

Sin embargo, utilicé Inkscape para preparar las figuras para su publicación y tuve muchas dificultades para exportar las figuras con la configuración de calidad de publicación. Guardar archivos como .eps no incrustaba correctamente mis fuentes y .pdf no me permitía guardar con calidad de prensa. (Estoy usando Windows XP e Inkscape versión 0.48.4.)

Para evitar esto, seguí las instrucciones para producir cifras de calidad de prensa que se encuentran en este enlace .

Estas instrucciones paso a paso le muestran cómo imprimir en un PDF con texto incrustado y la configuración de calidad de la prensa.

Tuve dificultades para imprimir en pdf algunas de mis figuras más grandes (solo porciones aleatorias de mi figura terminarían en el pdf, ¡lo cual fue muy frustrante!). Para evitar este problema, agrupé todos los aspectos de mi figura de Inkscape y reduje el tamaño total. Por alguna razón, esto funcionó muy bien y obtuve PDFs atractivos para estas figuras.

Otra opción es cortar la figura por la mitad (si es posible) e imprimir dos pdf. Estos se pueden combinar en Adobe Acrobat Professional (las versiones anteriores están disponibles para descargar en este enlace ) .

Haga clic en "Crear PDF", elija "De varios archivos" y seleccione los archivos PDF que desea combinar. Estos aparecerán como páginas individuales en el documento pdf. Para combinarlos en una sola página, vaya a File --> PrintDebajo de Page Handlingcambiar Page Scalinga Multiple pages per sheet.

Luego puede personalizar cuántas páginas desea por hoja. Haga clic en Aceptar y sus 2 archivos PDF ahora se combinarán en una sola página.

Espero que esta información sea de ayuda para aquellos de ustedes con requisitos estrictos para las cifras de calidad de publicación.

Han pasado años desde que tuve problemas con la transparencia de los PDF generados por Inkscape y, si los tuve, resultaron ser un problema del visor de PDF (o en un caso: de una impresora esotérica), no de Inkscape. Por lo tanto, diría que el uso de una nueva versión de Inkscape debería solucionar estos problemas.

Dicho esto, desde Inkscape 0.47 (de 2009), existe la opción Rasterizar efectos de filtro para la exportación de PDF, que debería rasterizar todos aquellos filtros (por ejemplo, desenfoque) que no son compatibles con el formato PDF y mantener todo lo demás vectorizado.

Estoy usando Inkscape y almaceno archivos SVG en PDF de forma rutinaria. Manténgase alejado de los filtros y las configuraciones opacas como PDF (o debería decir que InkScapes exporta a PDF) no maneja esta función muy bien.

En cambio, uso escalas de color en lugar de niveles opacos para suavizar los colores directamente en la paleta y evitar los filtros por completo. Sé que esto es engorroso y limita tus habilidades de lo que puedes hacer. Pero las exportaciones se ven bien si sigo estas reglas.

A partir de Inkscape 1.0beta2, algunos de los argumentos de la línea de comandos han cambiado. Como tal, el uso de la versión beta 1.0 es:

inkscape {svgPath} --export-area-drawing --without-gui --export-file={destPath}

donde he usado los corchetes aquí para indicar las partes que querrá cambiar para su uso. Por ejemplo, si tuviera el archivo SVG pizza.svgy quiero convertirlo a PDF pizza.pdf, usaría lo siguiente:

inkscape pizza.svg --export-area-drawing --without-gui --export-file=pizza.pdf

No pude encontrar estos cambios en los documentos, así que supongo (como en el momento en que escribo esto) que los documentos aún tienen que ponerse al día.

FWIW: Parece que este nuevo enfoque está destinado a simplificar un poco la línea de comando. En lugar de especificar explícitamente el tipo de archivo que se leerá y exportará, Inkscape usa el sufijo del archivo para especificar implícitamente los tipos de archivo.

Otro FWIW: si está utilizando una Mac, es muy probable que Inkscape no esté en su camino, por lo que no puede ejecutar Inkscape desde la línea de comandos sin un poco de trabajo adicional. El enfoque más simple para sortear este obstáculo es reemplazar inkscapeen los ejemplos de línea de comando anteriores con /Applications/Inkscape.app/Contents/MacOS/inkscape.

  1. Impresión
  2. Seleccione Mapa de bits en la pestaña Representación y elija la resolución deseada.
  3. Seleccione su impresora PDF en la pestaña General .
  4. Impresión.

pestaña de representación

mapa de bits dpi e impresión

Si tiene FoxIt Reader instalado, puede simplemente

  1. Archivo -> Imprimir ( Ctrl+ P)
  2. Elija "FoxIt Reader PDF Printer" para exportar el archivo como PDF.

Si ya configuró el tamaño de la página en las propiedades del documento (asegúrese de que sus elementos encajen en la página) > vaya a la vista previa de impresión. Aquí puede guardarlo como pdf y también imprimirlo en el tamaño deseado sin pérdida de resolución.

Yo también tuve este problema y ninguna de las respuestas existentes funcionó para mí. Encontré mi solución aquí: https://bugs.launchpad.net/inkscape/+bug/1004887

Agregue un filtro a cada imagen y luego guárdela como pdf. Asegúrese de marcar "rasterizar efectos de filtro". Estaba tratando con imágenes en escala de grises, así que apliqué un filtro de escala de grises para que las imágenes no se alteraran visiblemente.

tuve un problema con incskape 0.92.4 al guardar como pdf "No se pudo guardar el archivo *.pdf" simplemente deje el campo "limitar exportación con ID" vacío (facepalm) ingrese la descripción del enlace aquí

El enlace de tu imagen está roto y tu respuesta no es muy clara... además, esta es una pregunta muy antigua, ¿estás seguro de que estás agregando información útil? Verifique Cómo responder y luego edite su respuesta para agregar más detalles / corregir el enlace de la imagen rota.

1- Elija Imprimir (desde Archivo)

2- Haga clic en la pestaña Rendering: Seleccione (cambie a) Vector .

4- Haga clic en la pestaña General, en la parte superior en "Seleccionar impresora": elija la impresora para PDF, por ejemplo en Windows, tengo Foxit PDF Printer (porque tengo Foxit Reader en mi máquina).

5- Imprimir.

Una recomendación sincera: cairosvg , un convertidor de svg de Python.

cairosvg mySVGinputFile.svg -o outputfile.pdf

ventajas:

  • Los archivos .pdf tienen un tamaño más pequeño en comparación con la conversión de Inkscape
  • línea de comando más simple.

Si desea realizar conversiones por lotes, es decir, convertir muchos archivos a la vez, consulte esta respuesta .

Intente usar la herramienta de recorte que viene con Windows 7. Si aún no está fijada a su barra de tareas, la encontrará en Todos los programas, Accesorios. Parece un par de tijeras. Eso lo guardará como jpeg, luego abrirá el jpeg e imprimirá con el lindo PDF.

Probablemente esta no sea la solución que busca Zelbinian; exportar a PDF implicaría que se mantienen los objetos vectoriales. Como señaló la otra respuesta, de todos modos podría exportar el archivo como JPG, tomar una captura de pantalla sería un método inferior en este caso

Es muy simple. Guarde su archivo/selección como pdf.

¿Cual version? ¿Ha cambiado? Ver respuesta del usuario 14047 y el comentario de DA01...
Esta respuesta no aborda la pregunta. El problema del usuario no es que no sepa exportar un PDF desde Inkscape, es que los resultados no son satisfactorios.

Guardé mi documento (incluida la capa de degradado sobre la imagen y la imagen con transparencia) como PDF comprimido con JessyInk. Configure el DPI y guarde. En el archivo Zip encontrará el archivo PDF como se supone.

Si lo está convirtiendo para compartirlo, expórtelo como png. En la pestaña de archivos hay una opción separada para exportar como png. Te salvará de muchos problemas.

¿Puede explicar qué tipo de problemas evitará y por qué?

He estado molesto por este problema durante mucho tiempo. A partir de 2019, el mejor enfoque que pude encontrar es poner un paso de posdata intermedio. Usando la Makesintaxis:

rsvg-convert -f ps $^ | gs -sDEVICE=pdfwrite -sOutputFile=$@ -f -

donde $^está el archivo de origen y $@es el archivo de destino.

Produce PDF 1.7 de forma predeterminada con ghostscript 9.27. Resuelve todos los problemas que encuentro con el pdfmotor de guardado de Inkscape (versión 1.0 alfa).

¡Usa GIMP, amigo mío!

Abra el archivo SVG en él y exporte como PDF.

Esa es una pregunta bastante antigua con un montón de opciones para trabajar con Inkscape en sí ... GIMP no es un editor de vectores AFAIK, ¿realmente exportará el SVG como un PDF vectorial?