在尝试使用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的相同图像。
答案 0 :(得分:0)
尝试重新创建场景[但显示4个组件]
解决后
我遵循的流程:
将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
谢谢