You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Tilman Hausherr (JIRA)" <ji...@apache.org> on 2018/03/07 06:43:00 UTC

[jira] [Updated] (PDFBOX-4144) Pdf to image conversion not releasing memory after conversion

     [ https://issues.apache.org/jira/browse/PDFBOX-4144?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tilman Hausherr updated PDFBOX-4144:
------------------------------------
    Description: 
I have written a program that accepts pdf and convert it to image. Please see the below code for your reference.


{code:java}
ByteArrayInputStream ipStream = new ByteArrayInputStream(document.getFile().getBytes());
PDDocument documentUploaded = PDDocument.load(ipStream,MemoryUsageSetting.setupTempFileOnly());
             
         documentUploaded.setResourceCache(new MyResourceCache());

//Disabled a resource cache


         PDFRenderer pdfRenderer = new PDFRenderer(documentUploaded);
         int pageCounter = 0;
         for (PDPage page : documentUploaded.getPages())
         {         
            BufferedImage bim = pdfRenderer.renderImageWithDPI(pageCounter, 300, ImageType.RGB);   
             pageCounter = pageCounter + 1;

 

// Some code here

               bim.flush();
               bim = null;


         }
         documentUploaded.close();

 
{code}


After/Before conversion i printed heap size used by using Runtime.getRuntime().totalMemory() . Also I checked top command to see percentage of memory used.But in both cases the memory keeps increasing after each conversion and does not release used memory.After tomcat restart I get cleaned memory.

 

  was:
I have written a program that accepts pdf and convert it to image. Please see the below code for your reference.

ByteArrayInputStream ipStream = new ByteArrayInputStream(document.getFile().getBytes());
PDDocument documentUploaded = PDDocument.load(ipStream,MemoryUsageSetting.setupTempFileOnly());
             
         documentUploaded.setResourceCache(new MyResourceCache());

//Disabled a resource cache


         PDFRenderer pdfRenderer = new PDFRenderer(documentUploaded);
         int pageCounter = 0;
         for (PDPage page : documentUploaded.getPages())
         {         
            BufferedImage bim = pdfRenderer.renderImageWithDPI(pageCounter, 300, ImageType.RGB);   
             pageCounter = pageCounter + 1;

 

// Some code here

               bim.flush();
               bim = null;


         }
         documentUploaded.close();

 

After/Before conversion i printed heap size used by using Runtime.getRuntime().totalMemory() . Also I checked top command to see percentage of memory used.But in both cases the memory keeps increasing after each conversion and does not release used memory.After tomcat restart I get cleaned memory.

 


> Pdf to image conversion not releasing memory after conversion
> -------------------------------------------------------------
>
>                 Key: PDFBOX-4144
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4144
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Parsing, Rendering
>    Affects Versions: 2.0.8
>         Environment: Apache Tomcat/8.0.33, Linux, JDK 1.8  
>            Reporter: Sachin Mali
>            Priority: Major
>
> I have written a program that accepts pdf and convert it to image. Please see the below code for your reference.
> {code:java}
> ByteArrayInputStream ipStream = new ByteArrayInputStream(document.getFile().getBytes());
> PDDocument documentUploaded = PDDocument.load(ipStream,MemoryUsageSetting.setupTempFileOnly());
>              
>          documentUploaded.setResourceCache(new MyResourceCache());
> //Disabled a resource cache
>          PDFRenderer pdfRenderer = new PDFRenderer(documentUploaded);
>          int pageCounter = 0;
>          for (PDPage page : documentUploaded.getPages())
>          {         
>             BufferedImage bim = pdfRenderer.renderImageWithDPI(pageCounter, 300, ImageType.RGB);   
>              pageCounter = pageCounter + 1;
>  
> // Some code here
>                bim.flush();
>                bim = null;
>          }
>          documentUploaded.close();
>  
> {code}
> After/Before conversion i printed heap size used by using Runtime.getRuntime().totalMemory() . Also I checked top command to see percentage of memory used.But in both cases the memory keeps increasing after each conversion and does not release used memory.After tomcat restart I get cleaned memory.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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