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

Tilman Hausherr commented on PDFBOX-2596:
-----------------------------------------

{quote}
{code}
PDPage templatePage = (PDPage) 
PDDocument.load(getClass().getResourceAsStream("/pdfTemplate.pdf")).getDocumentCatalog().getAllPages().get(0);
{code}
I then use this templatePage to create each of the 36 pages in my document.
{quote}
In short: don't do such things

Long: I'm aware that it isn't easy to follow the [law of 
demeter|https://en.wikipedia.org/wiki/Law_of_Demeter], (and we don't always do 
it either), but your code above is quite extreme, and it brings you 
disadvantages: you're creating 36 document objects, you're parsing the PDF 
stream 36 times. The bettrer thing to do would be to keep the document object 
and the page object as long as it is needed.

> NullPointerException in RandomAccessFileInputStream
> ---------------------------------------------------
>
>                 Key: PDFBOX-2596
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-2596
>             Project: PDFBox
>          Issue Type: Bug
>    Affects Versions: 1.8.8
>            Reporter: John Roche
>
> Line 94 contains a synchronized(file) that throws a NullPointerException 
> under some strange circumstances that I haven't been able to fully identify 
> yet.  I have downloaded the 1.8.8 source and the fix I used is simply to add 
> "&& file != null" to the previous if statement.
> I can reproduce this bug with live user data, but I haven't been able to with 
> test data yet.  It happens when I try to create a pdf with 36 pages that have 
> an image, some drawn coloured boxes and some text, on each page.  If I remove 
> some of the pages before I call save(File) it doesn't happen - depending on 
> which pages I remove it can be ok with up to 26 pages, or break with fewer.  
> Quite strange.  I suspect it's to do with the size of the data as opposed to 
> the number of pages.
> I will continue to investigate, since there seems to be some underlying 
> issue, but for now I guess the null protection should be ok to add?
> Thanks,
> John



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to