SVG para imprimir gráficos

17

¿Qué tan bien han funcionado los gráficos vectoriales escalables para imprimir?

Necesito generar gráficos mediante programación para su inclusión en documentos impresos. Parece que solo hay dos contendientes serios para un formato de archivo de destino, EPS y SVG.

Como programador, parece más fácil trabajar con SVG, pero no parece haber sido aceptado por la industria gráfica. Solía ​​haber proyectos para basar gráficos de impresión en SVG (por ejemplo, Adobe PDFXML), pero ninguno parece estar activo ahora. Además, las herramientas de Adobe parecen haber terminado una breve aventura con SVG.

Si elijo SVG como formato de entrega, ¿qué problemas podría haber, en comparación con las alternativas? He escuchado quejas sobre el manejo de texto de SVG, pero no he encontrado ninguna discusión detallada. Otra cosa que sospecho que podría ser un problema es cuán limpiamente se convierte SVG a PDF.

usuario287424
fuente
Deben ser bibliotecas que puedan convertir a PDF por usted.
DA01

Respuestas:

9

En realidad, para imprimir EPS o PDF sería mejor. SVG está bien para la web (que es para lo que fue diseñado), pero a menudo hay problemas con los RIP al imprimir. La mayoría de los diseñadores que reciben archivos SVG los abrirán en una aplicación vectorial y volverán a guardarlos como archivos nativos, eps o PDF. NUNCA enviaría un archivo SVG a un proveedor de impresión.

Scott
fuente
Pero un PDF solo debería incrustar el SVG en un 'documento virtual', ¿cómo resuelve eso los problemas de RIP?
jiggunjer
1
@jiggunjer PDF utiliza una estructura de código completamente diferente a SVG. PDF se basa en PostScript, svg no. Guardar como PDF no "incrusta el svg como papel virtual". Es una base de código diferente.
Scott
Ya veo, pensé que el svg nativo se conservaba de manera similar a cómo se incrusta una imagen ráster. Pero ahora entiendo que hay una conversión a rutas pdf. ¿Es esto sin pérdidas o puede haber variaciones dependiendo de la implementación del convertidor de pdf? Por ejemplo, ¿Inkscape producirá el mismo pdf para un svg dado que ghostscript?
jiggunjer
No puedo comentar sobre Inkscape. Puedo decirle que la mayoría de los procesadores de imágenes ráster (RIP) utilizados para la impresión comercial probablemente se atragantarán con una imagen SVG. No entenderán la base de código. PDF es esencialmente un RIP de software . Por lo tanto, en general, cuando guarda algo como PDF, el código se reescribe / estructura con la salida en mente de la misma manera que un RIP de hardware procesará las imágenes. Básicamente, una aplicación capaz de producir tanto SVG como PDF debe tener parámetros de conversión internos para configurar la salida según el formato, y SVG es un formato completamente inapropiado para la impresión comercial.
Scott
Gracias. Esto me hizo pensar, así que
publiqué
3

He usado abcPDF para convertir mediante programación SVG generado a PDF para fines de impresión. Han pasado unos 4 años, pero no puedo imaginar que el soporte en la biblioteca haya disminuido.

Jacob G
fuente
1

Inkscape puede convertir archivos SVG a PDF y EPS a través de la línea de comandos. Google "línea de comando de svg a eps". Esta sería una buena solución para gráficos destinados tanto a la entrega web como a la impresa.

Solo tenga en cuenta que si bien esto debería funcionar en Linux, Inkscape a través de la línea de comandos en una Mac está algo roto (puede que tenga que compilar Inkscape usted mismo o cambiar el enlace del archivo dentro del .app)

Mentalista
fuente
-1

Si necesita convertir la imagen en un mapa de bits, asegúrese de seleccionar el tamaño correcto antes de convertir la imagen porque cualquier cambio de tamaño después de que la imagen se convierta dará como resultado una pérdida de calidad.

Kap
fuente
3
¿Puede explicar por qué cree que un cambio en el mapa de bits podría ser útil? Preferiría un formato vectorial.
Mensch
-2

Toda la industria (cortadoras láser, fresadoras, etc.) se basa en "hacer un trabajo físico" con DXF, que es un Drawing Exchange Format, que se puede convertir a JSON AST (muchas bibliotecas disponibles para este propósito) que se puede convertir exactamente a SVG; por lo tanto, no hay ninguna razón posible que impida que SVG lo use para imprimir.

Un atributo crucial de SVG para este propósito es el viewBox=que indica las dimensiones del dibujo en el mundo real. viewBox=debe coincidir con width=y height=, o obtendrá una impresión recortada y escalada. Debe proporcionar el viewBox=atributo en la exportación y solicitarlo en la importación.

Aún así, puede encontrar problemas con SVG, pero esto no será culpa de SVG: hay muchos controladores / aplicaciones con errores.

En mi empresa, utilizamos SVG para el formato predeterminado de intercambio de dibujos.

ceremcem
fuente
1
Use Step. Si bien es cierto que mis aplicaciones pueden leer (algunos dialectos de) DXF, no es cierto que mi cortadora láser, molino cnc o torno cnc utilice DXF. De hecho, no lo hacen, el láser utiliza rutinas de impresora que se basan en postscript debido a la necesidad de rasteización, que está más cerca de pdf que SVG. Las máquinas cnc usan el código G. En cualquier caso, DXF no funcionará para imprimir debido a la falta del tipo correcto de primitivas y CMS. Pero sí, puede convertir svg para imprimir, pero svg en sí carece de las características necesarias para la impresión comercial. Serían fáciles de inyectar pero no se implementarían después de que todo SVG sea como un pdf lisiado.
joojaa
Gracias por abrir las puertas para una discusión más profunda. No mencioné los pasos intermedios para reducir la complejidad de la respuesta: el código G o PostScript (o cualquier formato final) es producido por la compañía que posee la máquina (cortador láser, impresora, etc.) posiblemente mediante el uso del software patentado de la máquina o por cualquier convertidor que la máquina admita su formato. Si un formato (DXF, por lo tanto, SVG en este caso) se está utilizando como un paso intermedio, significaría que es un formato adecuado para el trabajo físico. ¿Te importaría mencionar qué primitivas faltan para SVG? (DXF no tiene formas sólidas, AFAIK)
ceremcem