Thanks Tilman, but I found the problem.  It is not a malformed PDF.
The PDDocument was being prematurely closed in an earlier method.

I still think it would be good if this method added a description message about 
the null trailer to the Exception.  With an ordinary NullPointerException, we 
really have no idea what might have happened.

-----Original Message-----
From: Tilman Hausherr [mailto:[email protected]] 
Sent: Friday, August 07, 2015 5:02 PM
To: [email protected]
Subject: Re: NullPointerException from PDDocument

Can you upload the document somewhere?

Tilman

Am 07.08.2015 um 23:56 schrieb Kevin Ternes:
> I have a particular PDF that I have loaded that throws a NullPointerException 
> from PDDocument.getDocumentCatalog().
>  From PDDocument:
>
> public PDDocumentCatalog getDocumentCatalog() {
>        If (documentCatalog == null)
>        {
>              COSDictionary trailer = document.getTrailer();
>              COSBase dictionary = trailer.getDictionaryObject( COSName.ROOT );
>              if (dictionary instanceof COSDictionary)
>              {
>                  documentCatalog = new PDDocumentCatalog(this, 
> (COSDictionary) dictionary);
>              }
>              else
>              {
>                  documentCatalog = new PDDocumentCatalog(this);
>              }
>        }
>        return documentCatalog;
> }
>
> The document.getTrailer() returns NULL for this PDF and thus the 
> NullPointerException from the next line.
>
> Is it possible that the PDF is malformed?
> I do not see where I might have cleared the document.trailer field.
>
> If any PDFBox developers are listening, would it be reasonable to put a check 
> into the above code to deal with the NULL document.trailer?
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>


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


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

Reply via email to