ICC配置文件包含1个组件,而图像数据包含3个组件

时间:2017-08-17 03:04:06

标签: java itext7

在尝试使用itext 7将图像添加到PDF时,我收到以下错误: (此错误适用于某些图像。我可以成功写入其他图像。)

ERROR 4868com.itextpdf.io.IOException: ICC profile contains 1 components, while the image data contains 3 components.
    at com.itextpdf.io.color.IccProfile.getInstance(IccProfile.java:90)
    at com.itextpdf.io.image.JpegImageHelper.processParameters(JpegImageHelper.java:370)
    at com.itextpdf.io.image.JpegImageHelper.processImage(JpegImageHelper.java:142)
    at com.itextpdf.io.image.ImageDataFactory.createImageInstance(ImageDataFactory.java:524)
    at com.itextpdf.io.image.ImageDataFactory.create(ImageDataFactory.java:101)
    at com.itextpdf.io.image.ImageDataFactory.create(ImageDataFactory.java:121)
    at com.itextpdf.io.image.ImageDataFactory.create(ImageDataFactory.java:131)

以下是我使用的代码:

Cell cell = new Cell(1, 1);
Image image = new Image(ImageDataFactory.create(photoLocation));
image.setWidth(58);
image.setHeight(58f);
cell.add(image);

用于处理iText5的相同图像。

1 个答案:

答案 0 :(得分:0)

  

尝试重新创建场景[但显示4个组件]

enter image description here

  

解决后

enter image description here

我遵循的流程:

https://i.stack.imgur.com/PxVET.jpg转换为灰色说(penguin_gray) 关于penguin_gray

使用-set colorspace转换为penguin_result [CMYK]

magick convert penguin_gray .jpg -set colorspace CMYK penguin_result.jpg

这给出了失败场景

现在在同一个penguin_gray

使用-colorspace转换为penguin_result [CMYK]

magick convert penguin_gray .jpg -colorspace CMYK penguin_result.jpg

这为您提供了成功案例

这可能无法解决您的情况[因为它只显示3个组件,不像我使用的图像显示4个组件] 但这可以引导你解决你的问题

如果可能,你可以发布这些图片,将尝试解决

价:http://www.imagemagick.org/discourse-server/viewtopic.php?t=17207

谢谢