[ 
https://issues.apache.org/jira/browse/PDFBOX-3981?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16220659#comment-16220659
 ] 

austinchen commented on PDFBOX-3981:
------------------------------------

by the way, when the code run in below exception 
              catch (IIOException e)
                {
                    // JAI can't read CMYK JPEGs using ImageReader#read or 
ImageIO.read but
                    // fortunately ImageReader#readRaster isn't buggy when 
reading 4-channel files
                    raster = reader.readRaster(0, null);
                }
it still got error when execute "raster = reader.readRaster(0, null);" , I 
don't know why, but when I change to code to below code, it won't got error, 
but still lost the CMYK image:
             catch (Exception e)
                {
                    // JAI can't read CMYK JPEGs using ImageReader#read or 
ImageIO.read but
                    // fortunately ImageReader#readRaster isn't buggy when 
reading 4-channel files
                    reader.setInput(iis);
                    raster = reader.readRaster(0, null);
                }

> It won't catch the exception when read the CMYK image in PDF for 
> DCTFilter.class
> --------------------------------------------------------------------------------
>
>                 Key: PDFBOX-3981
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-3981
>             Project: PDFBox
>          Issue Type: Bug
>    Affects Versions: 2.0.7
>         Environment: Windows/Liunx
>            Reporter: austinchen
>              Labels: cmyk
>             Fix For: 2.0.7
>
>
> In below code of DCTFilter.class, can't catch the IIOException because the 
> right Exception is IOException. 
> And when I change the code, in my testing, when I convert the PDF to image, I 
> found the CMYK image will be lost in converted image, it's very strange when 
> I set "String numChannels = '2'", I got positive result. 
> {code}
>             if ("3".equals(numChannels) || numChannels.isEmpty())
>             {
>                 try
>                 {
>                     // I'd like to use ImageReader#readRaster but it is buggy 
> and can't read RGB correctly
>                     BufferedImage image = reader.read(0);
>                     raster = image.getRaster();
>                 }
>                 catch (IIOException e)
>                 {
>                     // JAI can't read CMYK JPEGs using ImageReader#read or 
> ImageIO.read but
>                     // fortunately ImageReader#readRaster isn't buggy when 
> reading 4-channel files
>                     raster = reader.readRaster(0, null);
>                 }
>             }
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to