[ 
https://issues.apache.org/jira/browse/PDFBOX-3981?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tilman Hausherr updated PDFBOX-3981:
------------------------------------
    Description: 
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}


  was:
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. 

  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);
                }
            }


> 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