I'm testing with a j2c code stream.

 

From: Mark Storer [mailto:msto...@autonomy.com] 
Sent: Thursday, March 17, 2011 3:06 PM
To: Post all your questions about iText here
Subject: Re: [iText-questions] java.lang.OutOfMemoryError

 

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