¿Hay algo que pueda leer, importar o convertir CMYK SVG?

Pregunta breve: tengo archivos SVG con colores CMYK, especificados según las especificaciones de SVG . Quiero incluir esto en un programa de diseño, cualquier programa de diseño, para finalizar el diseño y prepararlo para imprimir. Sin embargo, no puedo encontrar nada que realmente preste atención a los colores CMYK en el SVG (ni Illustrator ni Inkscape, de todos modos).

Los colores son complicados y no son fáciles de convertir: imagine cientos de tonos generados dinámicamente, como tintes y mezclas de CMYK especificados en las pautas de la marca que deben ser perfectos.


Antecedentes: Algo que se está volviendo más común es diseñar gráficos basados ​​en datos que se generan a partir de datos usando javascript y SVG, luego publicar una variante para la web usando javascript y SVG, por ejemplo a través de D3 (o a través de Raphael/ D34Raphael para soporte de IE ) , luego usa el mismo código para producir una variante para imprimir, que se termina en Illustrator (o Inkscape) y se envía a las impresoras o personas de diseño como un PDF.

Aquí hay un ejemplo del blog de gráficos del New York Times que habla sobre este flujo de trabajo. El siguiente gráfico se codificó para la web, luego el SVG se copió del navegador a Illustrator y luego se finalizó como un gráfico impreso (para ellos, los colores son simples, por lo que no tienen mi problema, solo pueden convertir desde RGB) :

ingrese la descripción de la imagen aquí

SVG puede especificar colores CMYK (para cualquier codificador de SVG, la sintaxis se ve así: <circle fill="#CD853F device-cmyk(0.11, 0.48, 0.83, 0.00)"/>). Pero la mayoría del software de diseño ignora esto. He visto hablar en la comunidad de Inkscape sobre pensar en admitir CMYK SVG, y algo complicado que involucra a Scribus ("el InDesign de código abierto"), pero no he logrado que ninguno funcione (podría haber entendido mal el Scribus uno - editar: este artículo sugiere que Scribus puede importar CMYK SVG si lo define como un perfil de color ICC ... todavía no tiene mucho sentido, pero parece prometedor).


Por lo tanto, puedo crear un código que genere visualizaciones RGB SVG en "modo web" y CMYK SVG en "modo de impresión", generando dinámicamente los colores perfectos. El problema es que no puedo hacer nada con estos archivos CMYK SVG: Illustrator e Inkscape solo los tratan como negros.

¿Hay algún programa, complemento o método de gráficos que pueda tomar una imagen SVG con formas CMYK y convertirla a cualquier formato vectorial ( , ai, pdf... eps) donde el software de diseño escuchará los colores CMYK?


Aquí hay un archivo SVG simple con texto con colores especificados en CMYK. Simplemente copie y pegue y guárdelo como un archivo .svg.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" 
     xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="176.18px"
     height="111.59px" viewBox="0 0 176.18 111.59" enable-background="new 0 0 176.18 111.59" xml:space="preserve">
<switch>
    <g>
        <text transform="matrix(1 0 0 1 31.5986 34.522)" fill="#dddddd device-cmyk(0.00, 0.00, 0.00, 0.60)" font-family="'MyriadPro-Regular'" font-size="12">TEST FILE...</text>
        <text transform="matrix(1 0 0 1 31.5986 59.3633)" fill="#dddddd device-cmyk(0.00, 0.85, 0.65, 0.00)" font-family="'MyriadPro-Regular'" font-size="12">This should be red</text>
        <text transform="matrix(1 0 0 1 31.5986 84.2041)" fill="#dddddd device-cmyk(0.90, 0.55, 0.00, 0.00)" font-family="'MyriadPro-Regular'" font-size="12">This should be blue</text>
    </g>
</switch>
</svg>
¿Tienes un archivo de prueba?
@scott He editado uno simple en la pregunta
Se puede cambiar cualquier cosa sobre el código del SVG. Además, encontré este artículo, libregraphicsworld.org/blog/entry/… , que parece que Scribus podría importar CMYK SVG si está definido correctamente. Sin embargo, aún no lo descifré.
Bueno, no tengo nada aquí que esté tirando del color.
Gracias por el enlace a este blog de chartsnthings. ¡Esto es realmente inspirador y sorprendente!
Tenga en cuenta que es el borrador estándar SVG 1.2 al que se refiere. SVG 1.2 ha sido abandonado por el comité a favor de SVG 2, que probablemente tardará años en estandarizarse.

Respuestas (1)

Esto parece funcionar:

  • Instale la alternativa de código abierto indesign Scribus , Mac y Windows (también hay una versión portátil oficial para Windows en sourceforge que no requiere instalación). ADVERTENCIA: su interfaz es muy confusa... Pero, es gratis y hace este trabajo en particular, solo hay una cosa simple para la que necesitamos usarlo.
  • Ábralo, vaya a File > Document Setupluego Colour Managementy configure todo lo relacionado con CMYK Generic CMYK profile: debe haber tres lugares: colores, formas sólidas e impresión.
  • Asegúrese de que los archivos SVG especifiquen sus colores CMYK de esta manera: fill="#ffffff icc-color(Generic-CMYK-profile, 1.00, 0.50, 0.00, 0.25)"(donde 1,00 = 100 %)

    • Si el SVG se genera en un navegador, a los navegadores no les gusta configurar datos de estilo como este. Intente primero configurar el fillatributo directamente, y si eso no funciona, intente usar un atributo SVG personalizado como data-fill="#223fa3 icc-color..."luego buscarlo y reemplazarlo en el archivo de texto.
    • No se preocupe si todo aparece en negro en el navegador, eso es una señal de que los datos de relleno están ahí pero el navegador no los entiende, normal. Verifique con el elemento de inspección para estar seguro.
    • Si Raphael genera el SVG, configúrelo como element.node.setAttribute( 'fill', '#223fa3 icc-color...' );- Raphael .attr('fill','')no parece aplicarse al elemento real. También actualice .attr('fill')si el código necesita leer eso más tarde. Lo mismo ocurre con stroke. Solo funcionará en modo SVG, naturalmente...
  • Importe el archivo SVG a Scribus usandoFile > Import > Get vector
  • Exportar como PDF (exportar como EPS no funcionó para mí, borró todos los colores). Asegúrese de que en las opciones de exportación esté configurado en 'CMYK' o 'Para imprimir' o como lo expresen en este momento en la pestaña de administración de color; el valor predeterminado parece ser RGB ("Para web/pantallas").
  • Abra ese PDF en Illustrator; debería abrirse como un documento CMYK con los mismos colores CMYK que se especifican en el SVG original.

Resultado: gráficos CMYK en Illustrator, que coinciden con el SVG, con colores CMYK como se especifica en el SVG.


Advertencia: el soporte SVG de Scribus es muy complicado. En particular:

  • Básicamente, no hay soporte de texto SVG, y no llegaron más lejos para admitir el texto SVG que un argumento sobre de quién es la culpa . Espere que delinee todo el texto demasiado arriba en la fuente incorrecta con un kerning horrible.
  • Parece confundirse con los gradientes y la transparencia, aunque a veces muestra las cosas correctamente, a pesar de las quejas en el camino.
  • Todo en el PDF se envolverá en un montón de máscaras de recorte.
  • La propia interfaz de Scribus es realmente confusa (a partir del verano de 2013). Recomiendo hacer el mínimo de retoques en Scribus.

A veces, es posible que necesite mezclar elementos del SVG original (p. ej., texto) con la versión creada por Scribus. Si alguien conoce una mejor manera que Scribus, ¡comparta!


Si necesita perfiles de color específicos, puede instalar más perfiles de color en Scribus y especificarlos en su SVG, pero no estoy seguro de los detalles. Este artículo previamente vinculado podría ser un buen lugar para comenzar.