An ICC profile contains 1 component, while image data contains 3 components

When I try to add images to PDF using itext 7, I get the following error: (This error occurs for some images. I can write other images successfully.)

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)

The following is the code I'm using:

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

The same image is used to work with iText5.

+4
source share
1 answer

Tried to recreate the script [but showing 4 components]

enter image description here

And after permission

enter image description here

The process followed:

converting https://i.stack.imgur.com/PxVET.jpg to gray (penguin_gray) to penguin_gray

using -set colorspace to convert to 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

0

Source: https://habr.com/ru/post/1683867/


All Articles