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

11

Pregunta corta: Tengo archivos SVG con colores CMYK, especificados según las especificaciones 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 (de todos modos, no Illustrator o Inkscape).

Los colores son complicados y no son fáciles de convertir: imagine cientos de tonos generados dinámicamente, como tintes y mezclas de CMYK especificadas por las directrices de la marca que tienen que ser las correctas.


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 al personal 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 gráfico a continuación fue codificado para la web, luego el SVG se copió del navegador a Illustrator y luego se finalizó como un gráfico de impresión (para ellos, los colores son simples para que no tengan mi problema, simplemente pueden convertir desde el RGB) :

ingrese la descripción de la imagen aquí

SVG puede especificar colores CMYK (para cualquier codificador 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 de pensar en apoyar CMYK SVG, y algo complicado que involucra a Scribus ("el InDesign de código abierto"), pero no he logrado que ninguno de los dos trabaje (podría haber entendido mal el Scribus - editar: este artículo sugiere que Scribus puede importar CMYK SVG si lo define como un perfil de color ICC ... todavía no es muy sensato pero parece prometedor).


Entonces, puedo crear código que genere visualizaciones RGB SVG en 'modo web' y CMYK SVG en 'modo de impresión', generando dinámicamente colores que sean correctos. El problema es que no puedo hacer nada con estos archivos CMYK SVG: Illustrator e Inkscape simplemente los tratan como negros.

¿Hay algún programa de gráficos, plugin o método que puede tomar una imagen SVG con formas CMYK y convertirlo a cualquier formato vectorial ( ai, pdf, eps...) donde el software de diseño va a escuchar a 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>
user56reinstatemonica8
fuente
¿Tienes un archivo de prueba?
Scott
@scott He editado uno simple en la pregunta
user56reinstatemonica8
Cualquier cosa sobre el código de SVG se puede cambiar. Además, encontré este artículo, libregraphicsworld.org/blog/entry/… , que parece que Scribus podría importar CMYK SVG si se define correctamente. Sin embargo, aún no se ha resquebrajado.
user56reinstatemonica8
Bueno, no tengo nada aquí que esté tirando del color.
Scott
1
Tenga en cuenta que se refiere al borrador estándar SVG 1.2 . SVG 1.2 ha sido abandonado por el comité a favor de SVG 2, que probablemente llevará años estandarizarse.
John Smith

Respuestas:

6

Esto parece funcionar:

  • Instale la alternativa de código abierto de 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 debemos usarla.
  • Abrirlo, vaya a File > Document Setupcontinuación Colour Managementy conjunto de todo lo relacionado con CMYK Generic CMYK profile- debe ser tres lugares: colores, formas sólidas y de 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 establecer datos de estilo como este. Primero intente configurar el fillatributo directamente, y si eso no funciona, intente usar un atributo SVG personalizado como data-fill="#223fa3 icc-color..."buscar y reemplazarlo en el archivo de texto.
    • No se preocupe si todo aparece como negro en el navegador, eso es una señal de que los datos de relleno están allí pero el navegador no lo 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 vale para 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í, incorporó todos los colores). Asegúrese de que en las opciones de exportación esté configurado en 'CMYK' o 'Para imprimir' o, como quiera que 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: debe 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 soportar texto SVG que un argumento sobre de quién es la culpa . Espere que esboce todo el texto demasiado arriba en la fuente incorrecta con un interletraje horrible.
  • Parece estar confundido por los gradientes y la transparencia, aunque a veces muestra las cosas correctamente, a pesar de quejarse en el camino.
  • Todo en el PDF estará envuelto 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 los ajustes mínimos absolutos en Scribus.

A veces es posible que deba mezclar elementos del SVG original (p. Ej., Texto) con la versión de Scribus. Si alguien conoce una mejor manera que Scribus, ¡por favor comparte!


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 vinculado anteriormente podría ser un buen lugar para comenzar.

user56reinstatemonica8
fuente