Existe algo que possa ler, importar ou converter CMYK SVG?

11

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) :

insira a descrição da imagem aqui

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>
user56reinstatemonica8
fonte
Tem um arquivo de teste?
Scott
@ Scott Eu editei um simples para a pergunta
user56reinstatemonica8
Tudo sobre o código do SVG pode ser alterado. Além disso, encontrei este artigo - libregraphicsworld.org/blog/entry/… - que parece que o Scribus pode importar CMYK SVG se estiver definido corretamente. Ainda não o rachei.
user56reinstatemonica8
Bem, não tenho nada aqui que esteja puxando a cor.
Scott
1
Observe que é o rascunho padrão do SVG 1.2 a que você está se referindo. O SVG 1.2 foi abandonado pelo comitê em favor do SVG 2, que provavelmente levará anos para ser padronizado.
John Smith

Respostas:

6

Isso parece funcionar:

  • Instale o Scribus , Mac e Windows alternativo de código aberto indesign (há também uma versão portátil oficial para Windows no sourceforge que não requer instalação). AVISO: sua interface é muito confusa ... Mas, é gratuita e faz esse trabalho específico, há apenas uma coisa simples para a qual precisamos usá-la.
  • Abra-o, vá para File > Document SetupColour Managemente defina tudo o que o CMYK diz respeito Generic 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%)

    • Se o SVG é gerado em um navegador, os navegadores não gostam de definir dados de estilo como este. Tente primeiro definir o fillatributo diretamente e, se isso não funcionar, tente usar um atributo SVG personalizado como, em data-fill="#223fa3 icc-color..."seguida, localize-o no arquivo de texto.
    • Não se preocupe se tudo aparecer como preto no navegador, isso é um sinal de que os dados de preenchimento estão lá, mas o navegador não entende - normal. Verifique com o elemento de inspeção para ter certeza.
    • Se o SVG é gerado pelo Raphael, defina-o como 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 para stroke. Funcionará apenas no modo SVG, naturalmente ...
  • Importe o arquivo SVG para o Scribus usandoFile > Import > Get vector
  • Exportar como PDF (exportar como EPS não funcionou para mim, incorporou todas as cores). Certifique-se de que nas opções de exportação esteja definido como 'CMYK' ou 'Para impressão' ou, no entanto, eles estejam com a frase no momento na guia Gerenciamento de cores - o padrão parece ser RGB ("Para web / telas").
  • Abra esse PDF no Illustrator - ele deve ser aberto como um documento CMYK com as mesmas cores CMYK especificadas no SVG original.

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:

  • Basicamente, não há suporte a texto SVG, e eles não deram mais suporte ao texto SVG do que um argumento sobre quem é a culpa . Espere delinear todo o texto muito longe na fonte errada com kerning terrível.
  • Parece ficar confuso com os gradientes e a transparência - embora às vezes mostre as coisas corretamente, apesar de reclamar ao longo do caminho.
  • Tudo no PDF será agrupado em um monte de máscaras de recorte.
  • A própria interface do Scribus é realmente confusa (a partir do verão de 2013) - eu recomendo fazer o mínimo de ajustes no próprio Scribus.

À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.

user56reinstatemonica8
fonte