我不知道这个问题是否已经在另一个问题中得到了回答,但我没有找到任何关于它的东西。
我的目标是通过iText 2.1.7创建有效的PDF-X1a / PDF-X3文档。我使用JAI将RGB图像转换为CMYK,im也能够创建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;发布于 2016-01-28 03:19:29
它是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);
};https://stackoverflow.com/questions/33632686
复制相似问题