[
https://issues.apache.org/jira/browse/PDFBOX-5036?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andreas Gerstinger updated PDFBOX-5036:
---------------------------------------
Description:
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...");
}
}
}
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:
{{{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});}}
{{ }}}
{{ }}}
{{}}}
> 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
>
>
> 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...");
> }
> }
> }
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]