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

Andreas Gerstinger updated PDFBOX-5036:
---------------------------------------
    Description: 
An IllegalArgumentException (runtime exception) is thrown in the getImage() 
method of PDImageXObject.  The method declares to throw IOException, which is 
fine, but I do not know how to prevent it to throw the 
IllegalArgumentException.  Only happens for some PDFs, one that is affected is 
attached.

Here is the code that provokes the exception:

{{{color:#000080}public class {color}Test {}}
{{ {color:#000080}public static void {color}main(String[] args) {}}

{{ {color:#000080}try {color}{}}
{{ PDDocument document = PDDocument.load({color:#000080}new 
{color}File({color:#008000}"Phaeton.pdf"{color}));}}
{{ PDResources pdRes = 
document.getPages().get({color:#0000ff}0{color}).getResources();}}
{{ {color:#000080}for {color}(COSName name : pdRes.getXObjectNames()) {}}
{{ PDXObject o = pdRes.getXObject(name);}}
{{ {color:#000080}if {color}(o {color:#000080}instanceof {color}PDImageXObject) 
{}}
{{ PDImageXObject img = (PDImageXObject) o;}}
{{ img.getImage(); {color:#808080}// This throws an 
java.lang.IllegalArgumentException (runtime exception) - bug in PDFBOX
{color} }}}
{{ }}}
{{ } {color:#000080}catch{color}(IOException e) {}}
{{ System.{color:#660e7a}out{color}.println({color:#008000}"IOException 
thrown..."{color});}}
{{ }}}
{{ }}}
{{}}}

  was:
An IllegalArgumentException (runtime exception) is thrown in the getImage() 
method of PDImageXObject.  The method declares to throw IOException, which is 
fine, but I do not know how to prevent it to throw the 
IllegalArgumentException.  Only happens for some PDFs, one that is affected is 
attached.

Here is the code that provokes the exception:
{{

public class Test {
    public static void main(String[] args) {

        try {
            PDDocument document = PDDocument.load(new File("Phaeton.pdf"));
            PDResources pdRes = document.getPages().get(0).getResources();
            for (COSName name : pdRes.getXObjectNames()) {
                PDXObject o = pdRes.getXObject(name);
                if (o instanceof PDImageXObject) {
                    PDImageXObject img = (PDImageXObject) o;
                    img.getImage();  // This throws an 
java.lang.IllegalArgumentException (runtime exception) - bug in PDFBOX
                }
            }
        } catch(IOException e) {
            System.out.println("IOException thrown...");
        }
    }
}

}}


> IllegalArgumentException in PDImageXObject.getImage()
> -----------------------------------------------------
>
>                 Key: PDFBOX-5036
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-5036
>             Project: PDFBox
>          Issue Type: Bug
>    Affects Versions: 2.0.21
>         Environment: JDK11
>            Reporter: Andreas Gerstinger
>            Priority: Major
>         Attachments: Phaeton.pdf
>
>
> An IllegalArgumentException (runtime exception) is thrown in the getImage() 
> method of PDImageXObject.  The method declares to throw IOException, which is 
> fine, but I do not know how to prevent it to throw the 
> IllegalArgumentException.  Only happens for some PDFs, one that is affected 
> is attached.
> Here is the code that provokes the exception:
> {{{color:#000080}public class {color}Test {}}
> {{ {color:#000080}public static void {color}main(String[] args) {}}
> {{ {color:#000080}try {color}{}}
> {{ PDDocument document = PDDocument.load({color:#000080}new 
> {color}File({color:#008000}"Phaeton.pdf"{color}));}}
> {{ PDResources pdRes = 
> document.getPages().get({color:#0000ff}0{color}).getResources();}}
> {{ {color:#000080}for {color}(COSName name : pdRes.getXObjectNames()) {}}
> {{ PDXObject o = pdRes.getXObject(name);}}
> {{ {color:#000080}if {color}(o {color:#000080}instanceof 
> {color}PDImageXObject) {}}
> {{ PDImageXObject img = (PDImageXObject) o;}}
> {{ img.getImage(); {color:#808080}// This throws an 
> java.lang.IllegalArgumentException (runtime exception) - bug in PDFBOX
> {color} }}}
> {{ }}}
> {{ } {color:#000080}catch{color}(IOException e) {}}
> {{ System.{color:#660e7a}out{color}.println({color:#008000}"IOException 
> thrown..."{color});}}
> {{ }}}
> {{ }}}
> {{}}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to