我不知道这是否已在另一个问题中得到解答,但我没有找到任何相关内容。
我的目标是通过iText 2.1.7创建有效的PDF-X1a / PDF-X3文档 我使用JAI将RGB图像转换为CMYK,我也可以创建PDF-X文档。 Acrobat Pro的验证器指出我转换的图像包含不在CMYK ColorSpace中的特殊颜色(Adobe中的Volton)。这些颜色需要分开声明。是否有可能使用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;
答案 0 :(得分:-2)
这是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);
};