有什么可以读取,导入或转换CMYK SVG的东西吗?


11

简短的问题:我有CMYK颜色的SVG文件,根据SVG规范指定。我想将其纳入设计程序(任何设计程序)中,以完成设计并准备打印。但是,我找不到任何真正关注SVG中CMYK颜色的东西(无论如何不是Illustrator或Inkscape)。

颜色很复杂,而且不容易转换:想象一下动态生成的数百种阴影,就像品牌准则指定的CMYK的色调和混合必须正确一样。


背景:越来越普遍的是设计使用javascript和SVG从数据生成的数据驱动的图形,然后,使用javascript和SVG将Web的一种变体发布,例如通过D3(或通过Raphael / D34Raphael的IE支持) ,然后使用相同的代码生成用于打印的变体,该变体在Illustrator(或Inkscape)中完成,并以PDF的形式发送给打印机或版面设计人员。

这是《纽约时报》图形博客中通过此工作流程进行讨论的示例。下面的图形是为网络编码的,然后将SVG从浏览器复制到Illustrator中,然后最终确定为打印图形(对他们来说,颜色很简单,所以我没有问题,可以从RGB转换) :

在此处输入图片说明

SVG 可以指定CMYK颜色(对于那里的所有SVG编码器,语法如下:)<circle fill="#CD853F device-cmyk(0.11, 0.48, 0.83, 0.00)"/>。但是大多数设计软件都忽略了这一点。我在Inkscape社区中看到过有关支持CMYK SVG的思考,以及涉及Scribus(“开源InDesign”)的一些复杂问题,但是我都没有设法工作(我可能误解了Scribus之一) - 编辑: 本文建议的scribus可以导入CMYK SVG如果将它定义为一个ICC色彩配置文件 ...不太mades它的意义还没有,但它看起来很有希望)。


因此,我可以创建代码,在“ Web模式”下生成RGB SVG可视化效果,在“打印模式”下生成CMYK SVG的代码,动态生成正确的颜色。问题是,这些CMYK SVG文件无法执行任何操作-Illustrator和Inkscape只是将它们视为黑色。

是否有任何图形程序,或插件,可以采取SVG图像用CMYK形状并将其转换为任何矢量格式的方法(aipdfeps...),其中设计软件会听取CMYK颜色?


这是一个简单的SVG文件,其中包含带有CMYK中指定颜色的一些文本。只需复制并粘贴并另存为.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>

得到了测试文件?
Scott

@scott我已经编辑了一个简单的问题
user56reinstatemonica8 2013年

关于SVG代码的任何内容都可以更改。另外,我发现了这篇文章-libregraphicsworld.org/blog/entry/…-看起来,如果Scribus定义正确,它也许可以导入CMYK SVG。虽然还没有破解。
user56reinstatemonica8 2013年

好吧,我在这里什么都没拉。
斯科特(Scott)

1
请注意,这是您要参考的SVG 1.2标准草案。SVG 1.2已被委员会弃用,取而代之的是SVG 2,这可能需要数年的时间才能实现标准化。
约翰·史密斯

Answers:


6

这似乎可行:

  • 安装开放源代码的indesign替代产品Scribus,Mac和Windows(在sourceforge上也有Windows的官方可移植版本,不需要安装)。警告:它的界面非常令人困惑...但是,它是免费的,并且可以完成此特定工作,我们只需要使用一件事就可以了。
  • 打开它,转到File > Document Setup然后Colour Management设置与CMYK相关的所有内容Generic CMYK profile-应该放在三个位置:颜色,纯色和印刷。
  • 确保SVG文件指定其CMYK颜色,如下所示:(fill="#ffffff icc-color(Generic-CMYK-profile, 1.00, 0.50, 0.00, 0.25)"其中1.00 = 100%)

    • 如果SVG是在浏览器中生成的,则浏览器不喜欢这样设置样式数据。尝试首先fill直接设置属性,如果不起作用,请尝试使用自定义SVG属性,例如data-fill="#223fa3 icc-color..."在文本文件中查找并替换它。
    • 不用担心浏览器中的所有内容都显示为黑色,这表示填充数据已存在,但浏览器无法理解-正常。确保带有检查元件。
    • 如果SVG是由Raphael生成的,请将其设置为element.node.setAttribute( 'fill', '#223fa3 icc-color...' );-Raphael的.attr('fill','')似乎不适用于实际元素。.attr('fill')如果代码需要稍后阅读,也请进行更新。同样适用stroke。自然只会在SVG模式下运作...
  • 导入使用SVG文件到的scribusFile > Import > Get vector
  • 导出为PDF(导出为EPS不适用于我,它融合了所有颜色)。确保在导出选项中将其设置为“ CMYK”或“用于打印”,或者确保它们现在在颜色管理选项卡下将其作为短语-默认值似乎是RGB(“用于Web /屏幕”)。
  • 在Illustrator中打开该PDF-它应以与原始SVG中指定的相同的CMYK颜色打开为CMYK文档。

结果: Illustrator中的CMYK图形与SVG匹配,并且具有SVG中指定的CMYK颜色。


警告: Scribus的SVG支持非常强大。尤其是:

  • 基本上没有SVG文本支持,并且除了支持有关SVG文本的争论之外他们还没有进一步支持SVG文本。期望它以可怕的字距将所有文本以错误的字体太远地勾勒出来。
  • 它似乎被渐变和透明度所迷惑-尽管有时尽管抱怨,但它仍能正确显示事物。
  • PDF中的所有内容都将包裹在一堆剪贴蒙版中。
  • Scribus自己的界面确实令人困惑(截至2013年夏季)-我建议在Scribus本身中进行绝对最小的修改。

有时,您可能需要将原始SVG中的元素(例如文本)与Scribus-borked版本混合使用。如果有人知道比Scribus更好的方法,请分享!


如果需要特定的颜色配置文件,则可以在Scribus中安装更多颜色配置文件,并在SVG中指定它们,但是我不确定细节。这篇先前链接的文章可能是一个不错的起点。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.