【问题标题】:Creating high quality images for printing (CMYK) on websdrver在 websdrver 上创建用于打印的高质量图像 (CMYK)
【发布时间】:2020-06-09 11:36:14
【问题描述】:

我正在努力生成高质量的打印图像 - 主要是因为 PHP 库和 Linux CLI 工具对 CMYK 颜色的支持真的很差。

情况如下。我有 tiff 格式和 CMYK 颜色的输入材料 - 它是背景。我需要向其中添加一些文本并使用 CMYK 颜色另存为 tiff。挑战在于使用精确的 CMYK 颜色(因此在此过程中不能临时导出/导入到 sRGB)。

我的第一个想法是使用 Imagemagick,但 Imageimagick 没有选择 CMYK 绘图。我需要在 sRGB 中工作并将材料导出到 CMYK。所以在这个过程中,一些关于颜色的信息会发生变化。

PHP 似乎不可能在不临时将颜色转换为 sRGB 的情况下向图像添加文本,所以我正在寻找任何选项,如 Linux CLI 工具、node.js lib 等。目标是至少生成文本作为具有透明背景的图像,其颜色在 CMYK 中定义为具有精确值或直接在背景图像上执行相同操作。

【问题讨论】:

  • 根据docs 的说法,Imagick 的某些部分似乎至少支持 CMYK,但我无法确定具体支持多少。
  • 您是对的,但不幸的是,您不能使用 CMYK “绘制” - “绘制文本”时仅支持 sRGB。
  • 我面前没有电脑,所以当你设置一个CMYK颜色然后调用一个文本函数会发生什么(是annotation?)。它是自动转换为RGB还是抛出?
  • 颜色似乎是反转的,即 $fillColor->setColor('cmyk(0%,0%,0%,100%'); 产生白色文本。100% 洋红色产生鲜艳的绿色等。
  • 好的。我很抱歉,但我只想问一下,您是否以 CMYK 感知方式查看图像? Photoshop 或 browser that supports it?

标签: php node.js linux cmyk


【解决方案1】:

最后,我放弃了 Imagemagick。由于我们可以使用 PDF 进行专业打印,因此我决定采用这种方式。

我安装了 TCPDF 和 TCPDI。使用 TCPDI,我导入了先前准备好的带有图形等的 pdf 模板。使用 TCPDF,我添加了必要的动态文本 - TCPDF 支持 CMYK 没有问题。

根据您的打印位置,您可以将字体嵌入 PDF(可以使用 TCPDF 完成)或将文本更改为轮廓,这是一个小挑战。我需要将字体更改为轮廓(客户请求),所以我使用 Ghostscript 完成了。

我花了一整天的时间才弄明白,所以我把它贴出来以防有人遇到类似的问题。绝对不是问题的答案,但至少是问题本身的一个很好的解决方案。

【讨论】:

  • 我在 PDF 和 CMYK 领域花了很长时间,所以我知道你的痛苦。很高兴您找到了解决方案!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-24
  • 1970-01-01
  • 1970-01-01
  • 2016-08-01
  • 2014-06-11
  • 1970-01-01
相关资源
最近更新 更多