【发布时间】:2015-11-10 14:46:06
【问题描述】:
我不知道这是否已经在另一个问题中得到了回答,但我没有找到任何关于它的信息。
我的目标是通过 iText 2.1.7 创建一个有效的 PDF-X1a / PDF-X3 文档 我使用 JAI 将 RGB 图像转换为 CMYK,并且我还能够创建 PDF-X 文档。 Acrobat Pro 的验证器指出我转换的图像包含 CMYK 颜色空间中没有的特殊颜色(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;
【问题讨论】:
-
不确定你是否解决了这个问题,但你的问题不是很清楚。首先,PDF/X-1a 和 PDF/X-3 有很大的不同。你必须定义你想要什么。其次,最好有一个示例文档来准确显示出问题的原因,因为“Volton”在颜色方面我完全不认识。
标签: java pdf pdf-generation itext cmyk