【问题标题】:convert svg to cmyk using php or any command or using tcpdf使用 php 或任何命令或使用 tcpdf 将 svg 转换为 cmyk
【发布时间】:2016-08-17 01:51:07
【问题描述】:

我正在使用 tcpdf 将 svg 图像插入 pdf。并且tcpdf 使用此命令在rgb 中写入pdf

$pdf->ImageSVG

但我想将其转换为cmyk。所以我想我有两种方法可以做到这一点,

1)将svg转换成cmyk

为此我尝试了这个命令

shell_exec("convert {$svgPath} -profile 'Canon_iPF_5000_-_iPF_8000_-_iPF_9000.icc' {$svgoppath}"); 

但不工作

2)在写svg时将pdf转换为cmyk

我试图在 google 中找到这方面的信息,但没有正确的 tcpdf 文档来强制在 cmyk 中写入 pdf

有没有更好的方法来实现这一点?

【问题讨论】:

  • @Kaiido 感谢您了解我的情况,svg 正在自动生成,那么我应该在 svg 中附加、插入或更新哪些代码?我在 svg 中有很多元素,例如 <g transform="translate(1127.57 398.53)"> <text font-family="Impact" font-size="25" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(0, 0, 0); fill-rule: nonzero; opacity: 1;" ><tspan x="-100" y="5.61" fill="rgb(255, 0, 0)">Type Text Here</tspan></text> </g>,在 rgb 中有 fill 属性。
  • 好的,谢谢@Kaiido 欣赏。
  • 图片需要是 SVG 吗?如果这不是必需的,那么您可以使用 ImageMagick 将其更改为另一种格式(例如 stackoverflow.com/questions/10289686/…),然后再次使用 ImageMagick 使用 transformImageColorspace 更改图像的色彩空间。
  • @Michael 我在服务器上安装了 imagick,我在这里遇到错误printhubpro.co.uk/ajax/svgtest

标签: php svg tcpdf cmyk


【解决方案1】:

转换为色彩空间的 PHP 方法是使用 iMagick 的 setimagecolorspace,它等效于 exec(convert....。如果选项 1) 不起作用,setimagecolorspace 也可能会失败。

确保imagemagick 库和实用程序已安装在服务器上,否则您将花费​​数小时调试未损坏的代码。

【讨论】:

  • 我已经在服务器上安装了 imagick 并尝试了这段代码,$image=Config::get('constants.paths.uploads.images.base')."/test.svg"; $image2=Config::get('constants.paths.uploads.images.base')."/test_new.svg"; $IMagick = new IMagick(); $IMagick->clear(); $IMagick->readImage($image); $icc_cmyk = ltrim(Config::get('constants.paths.uploads.images.base').'/1.icc',"/"); $IMagick->profileImage('icc', $icc_cmyk); //unset($icc_cmyk); $IMagick->transformImageColorspace(12); $IMagick->writeImage ($image2); 但收到错误ColorspaceColorProfileMismatch icc' `
  • 是的,很好,现在没有错误,但问题是,svg 现在不可读,它只显示这样的代码,printhubpro.co.uk/images/test_new.svg 和原始代码在这里printhubpro.co.uk/images/test.svg
  • 您是否尝试将fill RGB 更改为 CMYK 颜色?这在 iMagick 中是不可能的。我知道的唯一应用是 Scribus,您可以在其中导出 SVG to PDF CMYK
  • php有没有其他办法?
  • 您是否尝试过使用 ghostscript 将 RGB 转换为 CMYK PDF?将 cmyk 插入 svg 是一项艰巨的任务,然后更新 tcpdf 的内部结构以读取 cmyk。
猜你喜欢
  • 2014-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-09
  • 1970-01-01
  • 2012-06-08
相关资源
最近更新 更多