Pergunta curta: tenho arquivos SVG com cores CMYK, especificados de acordo com as especificações SVG . Quero incluir isso em um programa de design - qualquer programa de design - para finalizar o design e prepará-lo para impressão. No entanto, não consigo encontrar nada que realmente preste atenção às cores CMYK no SVG (não no Illustrator ou no Inkscape, de qualquer forma).
As cores são complicadas e não são fáceis de converter: imagine centenas de tons gerados dinamicamente, como tonalidades e misturas de CMYK especificadas pelas diretrizes da marca, que precisam ser perfeitas.
Antecedentes: algo que está se tornando mais comum é projetar gráficos controlados por dados que são gerados a partir de dados usando javascript e SVG e, em seguida, publicar uma variante para a Web usando javascript e SVG, por exemplo, via D3 (ou Raphael / D34Raphael para suporte ao IE) , em seguida, use o mesmo código para produzir uma variante para impressão, concluída no Illustrator (ou Inkscape) e enviada às impressoras ou pessoas de layout como um PDF.
Aqui está um exemplo do blog de gráficos do New York Times falando sobre esse fluxo de trabalho. O gráfico abaixo foi codificado para a Web e, em seguida, o SVG foi copiado do navegador para o Illustrator e finalizado como um gráfico impresso (para eles, as cores são simples para que não tenham o meu problema, elas podem ser convertidas a partir do RGB) :
O SVG pode especificar cores CMYK (para qualquer codificador SVG existente, a sintaxe é assim:) <circle fill="#CD853F device-cmyk(0.11, 0.48, 0.83, 0.00)"/>
. Mas a maioria dos softwares de design ignora isso. Vi na comunidade do Inkscape discussões sobre o suporte ao CMYK SVG e algo complicado envolvendo o Scribus ("o InDesign de código aberto"), mas também não consegui trabalhar (talvez eu tenha entendido mal o Scribus). - editar: este artigo sugere que o Scribus pode importar o CMYK SVG se o definir como um perfil de cores ICC ...
Assim, posso criar código que gere visualizações RGB SVG no 'modo web' e CMYK SVG no 'modo impressão', gerando dinamicamente cores perfeitas. O problema é que não posso fazer nada com esses arquivos CMYK SVG - o Illustrator e o Inkscape apenas os tratam como pretos.
Existe algum programa gráfico, plugin ou método que pode ter uma imagem SVG com formas CMYK e convertê-lo para qualquer formato de vetor ( ai
, pdf
, eps
...) onde o software de design vai ouvir as cores CMYK?
Aqui está um arquivo SVG simples com algum texto com cores especificadas em CMYK. Basta copiar e colar e salvar como um arquivo .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>
fonte
Respostas:
Isso parece funcionar:
File > Document Setup
láColour Management
e defina tudo o que o CMYK diz respeitoGeneric CMYK profile
- devem ser três lugares: cores, formas sólidas e impressão.Verifique se os arquivos SVG especificam suas cores CMYK assim:
fill="#ffffff icc-color(Generic-CMYK-profile, 1.00, 0.50, 0.00, 0.25)"
(onde 1,00 = 100%)fill
atributo diretamente e, se isso não funcionar, tente usar um atributo SVG personalizado como, emdata-fill="#223fa3 icc-color..."
seguida, localize-o no arquivo de texto.element.node.setAttribute( 'fill', '#223fa3 icc-color...' );
- o Raphael.attr('fill','')
não parece se aplicar ao elemento real. Atualize também.attr('fill')
se o código precisar ler isso mais tarde. O mesmo vale parastroke
. Funcionará apenas no modo SVG, naturalmente ...File > Import > Get vector
Resultado: gráficos CMYK no Illustrator, correspondendo ao SVG, com cores CMYK, conforme especificado no SVG.
Aviso: O suporte SVG do Scribus é muito fraudulento. Em particular:
Às vezes, pode ser necessário misturar elementos do SVG original (por exemplo, texto) com a versão do Scribus. Se alguém souber uma maneira melhor do que o Scribus, compartilhe!
Se você precisar de perfis de cores específicos, poderá instalar mais perfis de cores no Scribus e especificá-los no seu SVG, mas não tenho certeza dos detalhes. Este artigo vinculado anteriormente pode ser um bom lugar para começar.
fonte