如何仅使用CMY颜色创建iText PDF

时间:2009-12-10 09:46:04

标签: pdf colors pdf-generation itext

我需要在CMY颜色空间中创建带有iText的pdf(暂时还有其他lib建议)。这不是CMYK:

所有颜色和黑色应仅转换为CMY,以便在保存创建的PDF时黑色底板为空。我知道,黑色会看起来有点棕色,但是我必须要求不使用任何黑色版本来获得这个pdf。

你有什么建议吗?

(PS:这就像need-help-answers-on-pdf-color-seperation,但我现在不再转换pdf,而是询问创作。但如果有人对链接问题有答案也会有所帮助!)

1 个答案:

答案 0 :(得分:0)

有几种方法可以解决这个问题。首先,你需要决定如何代表你的颜色...

  1. CMYK,其中'k'始终为零
  2. Device-N颜色空间,带有三个颜色通道。 “着色剂”是我相信的术语。
  3. 然后你需要使用iText的颜色对象,并确保每个颜色属性都设置为你的一种颜色,或者为null(在iText-ville中转换为'not drawn')。您将需要搜索和替换许多默认值。

    您可能希望对iText的来源进行一些帮助,特别是PdfContentByte。有几种不同的选择。

    1. 查找设置颜色的所有位置,并在使用其中一种颜色(CMKY-with-no-K或Device-N-where-N-is-3)时抛出异常保存。
    2. 更难:在你投掷的所有地方,将颜色转换为颜色空间中的等效颜色。灰度到CMY-No-K应该不是那么难,但良好的RGB-> CMYK翻译至少与科学一样多的艺术......
    3. 如果您包含任何非CMY-no-K的图像,您必须翻译它们。没有绕过它。如果你正在翻译一些颜色,你可能至少会使用上面#2的部分版本。