Java CMYK Вольтоны

Я не знаю, есть ли ответ на этот вопрос в другом вопросе, но я ничего не нашел об этом.

Моя цель - создать действительный документ PDF-X1a / PDF-X3 через iText 2.1.7. Я использовал JAI для преобразования изображения RGB в CMYK, и я также могу создать документ PDF-X. Средство проверки Acrobat Pro указывает, что мое преобразованное изображение содержит специальные цвета (Volton в Adobe), которых нет в CMYK ColorSpace. Эти цвета должны быть объявлены отдельно. Есть ли возможное решение сделать это с помощью java и предоставить изображению необходимую информацию?

На данный момент моя конверсия выглядит так

BufferedImage rgbImage = null;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
BufferedImage cmykImage = null;
byte[] imageInByte = new byte[0];
try {
  rgbImage = ImageIO.read(image);
  ColorSpace cpace = new ICC_ColorSpace(ICC_Profile.getInstance(_iccCmykProfile.getInputStream()));
  ColorConvertOp op = new ColorConvertOp(cpace, null);
  cmykImage = op.filter(rgbImage, null);
  JAI.create("encode", cmykImage, baos, "TIFF");
  baos.flush();
  imageInByte = baos.toByteArray();
  baos.close();
} catch (IOException e) {
  e.printStackTrace();
}
return imageInByte;

person Tobias Timm    schedule 10.11.2015    source источник
comment
Не уверен, что вы когда-либо решали это, но ваш вопрос не очень ясен. Начнем с того, что PDF/X-1a и PDF/X-3 сильно различаются. Вам нужно будет определить, чего вы хотите. Во-вторых, было бы хорошо иметь пример документа, который точно показывает, что идет не так, поскольку Volton не является чем-то, что я вообще не узнаю с точки зрения цвета.   -  person David van Driessche    schedule 29.01.2016


Ответы (1)


Это аддитивная версия CMYK, но я надеюсь, что она работает.

var cmyk = function (cyan, magenta, yellow, key) {    
    var red = magenta*255 + yellow*255 - cyan*255 - key*(255*2.2);
    var green = cyan*255 + yellow*255 - magenta*255 - key*(255*2.2);
    var blue = magenta*255 + cyan*255 - yellow*255 - key*(255*2.2);
    fill (red, green, blue);
};
person user5848603    schedule 27.01.2016