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

Ben Manes commented on PDFBOX-4726:
-----------------------------------

Unfortunately that won't improve it. The {{BufferedImage}} holds a rastor, 
which is sized by the dimensions for the raw data. I think subsampling would 
reduce the compressed image size, but it does not help for the raw {{int[]}}.

I added scaling to reduce to {{1650}} as the target for the smaller dimension, 
which reduces this int[] array from 256mb to 13mb and retains enough quality 
for our needs.

I would still appreciate being able to offload the BufferedImage raw data to 
disk to avoid future memory issues.

> PDFRenderer uses excessive memory
> ---------------------------------
>
>                 Key: PDFBOX-4726
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4726
>             Project: PDFBox
>          Issue Type: Improvement
>            Reporter: Ben Manes
>            Priority: Major
>         Attachments: heap.png, instance.png, stacktrace.png
>
>
> {{PDFRenderer.renderImage}} uses BufferedImage with only in-memory data. This 
> is uncompressed and can use excessive memory. This occurs despite setting 
> \{{MemoryUsageSetting}} being configured on the document for disk space, 
> which should be honored.
> This [stackoverflow answer|https://stackoverflow.com/a/53205617/19450] 
> suggests using a {{WritableRaster}} backed by a temporary file. This change 
> cannot be done in user code and requires updating the {{PDFRenderer}}.
> I am currently trying to track down a PDF that caused out-of-memory issues. 
> From the heap dump only a few {{BufferedImages}} where in memory, but they 
> took 6gb in their uncompressed data.



--
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