2013-03-18 96 views
1

Webkit/wkhtmltopdf不支持SVG图像中填充颜色的icc颜色配置文件吗?SVG中的ICC颜色配置文件for webkit wkhtmltopdf或定义专色

我有了彩色图像定义为:

#e22e27 icc-color(U.S.-Web-Coated--SWOP--v2, 0.0558938, 0.95947204, 0.98716716, 0.00204471) 

这是应该出来红色(并不会在Inkscape中)

然而,铬(和其他浏览器),只要打开它作为黑色(我猜是因为它不能获得填充颜色?),而且wkhtmltopdf也是黑色的。

有没有办法做到这一点?或者更具体地说,是否有任何方法可以在SVG中定义设备专色,以便最终的PDF可以具有红色(而不是RGB的组合)?

感谢

+0

Adob​​e SVG查看器似乎是颜色配置文件模块的唯一实现者:http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28SVG%29#SVG_1.1_support – 2013-03-18 15:55:06

+0

所以我猜测没有如何通过wkhtmltopdf渲染PDF来指定svg图形的专色方式? – TheStoneFox 2013-03-18 16:08:52

+0

似乎不太可能,如果它使用Webkit – 2013-03-18 16:20:55

回答

0
如果你打开Inkscape的0.92 SVG

取出的sRGB值#e22e27后,我希望你会看到黑色而不是红色。这是因为即使在使用CMYK颜色选择器时,Inkscape也会读取/写入SVG文件的备用sRGB值。据我所知,原生CMYK支持仍然在Inkscape的未来。

在开源PDF渲染器中,mPDF支持defining spot colours by CMYK values,并且还支持在SVG中嵌入SVG子集,这表明它可以原生读取一些SVG语法。根据其GitHub项目第39期的问题,这将是完全开源解决方案比wkhtmltopdf完全不支持CMYK输出的更好的起点。

在专有渲染器中,PDFreactor支持直接将CMYK values from an SVG直接传递给渲染器,只要它们没有栅格化,尽管语法看起来不符合W3C SVG规范,并且没有sRGB回退,所以每个SVG都必须是特别制作。这对于源自Inkscape的简单图形来说非常简单;只用C,M,Y,K值

style="fill:#e22e27 icc-color(U.S.-Web-Coated--SWOP--v2, 0.0558938, 0.95947204, 0.98716716, 0.00204471);fill-opacity:1;fill-rule:nonzero;stroke:none" 

style="fill:cmyk(0.0558938, 0.95947204, 0.98716716, 0.00204471);fill-opacity:1;fill-rule:nonzero;stroke:none" 

我最近在尝试匹配SVGs和颜色之间使用这种技术只是在你的SVG代替例如在文档的CSS中指定CMYK值,例如在徽标和字体颜色之间。对于新兴的device-cmyk语法,请参阅CSS Color Module Level 4;同时PDFreactor使用CSS的非标准cmyk语法,如上面的SVG示例所示。

一般来说,我想知道在本地CMYK SVG中嵌入颜色配置文件的价值。也许假设是我们从sRGB值开始并需要近似值,但在我的工作流程中,我将从CMYK值开始。我希望对此做出澄清。此外,仅仅因为印刷机,大陆或纸张发生了变化,重新创建每个SVG文件都会非常耗时。