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

Tilman Hausherr commented on PDFBOX-4058:
-----------------------------------------

The 2.0.9 release is planned for some time this month. I'd rather expect the 
end of the month. If we find regressions then it could take longer. No info 
about 3.0.

I understand that you find it upsetting that this seemingly small file has such 
a huge memory footprint. The patterns images (for the logos) created at 300dpi 
are so huge. The pattern tile dimensions are larger than the PDF dimensions. To 
see this, have a look at TilingPaint.getImage() and save the image that is 
returned at the end of the method. The pattern classes do not have a knowledge 
of the PDF bounds so they can't create a smaller one. An alternative would be 
to render directly on the target image but this isn't the way it is being done. 
(I suspect that Adobe Reader does both, depending on the size of the pattern). 

No there isn't an easy way to find out whether a page has a huge memory 
footprint.

> High memory consumption when extracting image from PDF file
> -----------------------------------------------------------
>
>                 Key: PDFBOX-4058
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4058
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Rendering
>    Affects Versions: 2.0.5, 2.0.6, 2.0.7, 2.0.8
>         Environment: windows 10 / Linux
>            Reporter: Bjorn Misseghers
>            Assignee: Tilman Hausherr
>              Labels: regression
>             Fix For: 2.0.9, 3.0.0 PDFBox
>
>         Attachments: HighMemoryFootprint.pdf
>
>
> When rendering an image at 300 dpi from the included PDF, my java process 
> uses a huge amount of memory.
> The document is only 45 Kb in size and contains 2 pages, my JVM is unable to 
> extract even 1 page with 3G of memory. Setting Xmx to 4G works but is not the 
> solution I want.
> The error occurs when calling PDFRenderer.renderImageWithDPI()
> I already tried tweaking the memory usage in my application to use a scratch 
> file while loading the document as well as avoiding caching of XObjects as 
> described here: https://pdfbox.apache.org/2.0/faq.html#outofmemoryerror
> These didn't work.
> The issue can be reproduced using the pdfbox-app utility:
> java -Xmx3G -jar pdfbox-app-2.0.8.jar PDFToImage 
> HighMemoryFootprint.pdf -dpi 300 -color RGB -page 1
> What can not be changed?
> * 300 dpi will not be decreased.
> * Max Java memory will not be increased: 3GB is ridiculous for a 45kb PDF 
> file.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to