What format is the image in?  IIRC, JPEG files are pretty much copied
verbatium, while other formats need to be parsed and coverted and so
forth.  I'm guessing that JPEG images will have a smaller memory
footprint.
 
--Mark Storer
  Senior Software Engineer
  Cardiff.com
 
import legalese.Disclaimer;
Disclaimer<Cardiff> DisCard = null;
 
 


________________________________

        From: Martin Schwartzman [mailto:mschwartz...@ittvis.com] 
        Sent: Thursday, March 17, 2011 11:52 AM
        To: itext-questions@lists.sourceforge.net
        Subject: [iText-questions] java.lang.OutOfMemoryError
        
        

        The OutOfMemoryError occurs at the cb.addImage(img) line. The
image I'm trying to write is about 210,703 KB. I'm running the below
code fragment from a Servlet in JBOSS-5.0.1.GA, Itextpdf-5.0.7, and java
version "1.6.0_20".

         

        I'm wondering if there is a simple fix to this problem like
turning streaming to disk on for large images which I've read does occur
so I'm not sure what the problem is. This problem does not occur in a
standalone Java class but so far only when run in my servlet container.
I'm running the 32 bit version of JBOSS so I can't up the VM (-Xms1280m
-Xmx1280m) memory any more then I already have. The images are only
going to get bigger.

         

        java.lang.OutOfMemoryError

                at java.io.FileOutputStream.writeBytes(Native Method)

                at
java.io.FileOutputStream.write(FileOutputStream.java:260)

                at
java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)

                at
com.itextpdf.text.pdf.OutputStreamCounter.write(OutputStreamCounter.java
:157)

                at
java.io.ByteArrayOutputStream.writeTo(ByteArrayOutputStream.java:109)

                at
com.itextpdf.text.pdf.PdfStream.toPdf(PdfStream.java:353)

                at
com.itextpdf.text.pdf.PdfIndirectObject.writeTo(PdfIndirectObject.java:1
57)

                at
com.itextpdf.text.pdf.PdfWriter$PdfBody.add(PdfWriter.java:396)

                at
com.itextpdf.text.pdf.PdfWriter$PdfBody.add(PdfWriter.java:376)

                at
com.itextpdf.text.pdf.PdfWriter$PdfBody.add(PdfWriter.java:329)

                at
com.itextpdf.text.pdf.PdfWriter.addToBody(PdfWriter.java:780)

                at
com.itextpdf.text.pdf.PdfWriter.add(PdfWriter.java:3096)

                at
com.itextpdf.text.pdf.PdfWriter.addDirectImageSimple(PdfWriter.java:3071
)

                at
com.itextpdf.text.pdf.PdfWriter.addDirectImageSimple(PdfWriter.java:2998
)

                at
com.itextpdf.text.pdf.PdfContentByte.addImage(PdfContentByte.java:1228)

                at
com.itextpdf.text.pdf.PdfContentByte.addImage(PdfContentByte.java:1110)

                at
com.itextpdf.text.pdf.PdfContentByte.addImage(PdfContentByte.java:1094)

         

        Code fragment:

        PdfWriter writer = PdfWriter.getInstance(document, new
FileOutputStream(outPutFile));                      

        document.open();        

        PdfContentByte cb = writer.getDirectContent();

        Image img = Image.getInstance(firstImageName);

        PdfLayer group = new PdfLayer("Layers", writer);

        PdfLayer layer1 = new PdfLayer("image", writer);

        group.addChild(layer1);

        cb.beginLayer(group);

        cb.endLayer();

        cb.beginLayer(layer1);

        cb.addImage(img); // the addImage where the out of memory occurs

        cb.endLayer();

        document.close();

         

         

        Thanks.

         

         

------------------------------------------------------------------------------
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
_______________________________________________
iText-questions mailing list
iText-questions@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/itext-questions

iText(R) is a registered trademark of 1T3XT BVBA.
Many questions posted to this list can (and will) be answered with a reference 
to the iText book: http://www.itextpdf.com/book/
Please check the keywords list before you ask for examples: 
http://itextpdf.com/themes/keywords.php

Reply via email to