This really helps... One of the things that I need to do is a mail merge creating thousands of one page letters. If the pages are simple with no table of contents/references/page numbers. Is it safe to assume that the FO processor will use roughly the same memory printing 10 letters as 1000?
----- Original Message ----- From: "J.Pietschmann" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, June 24, 2002 1:44 PM Subject: Re: Memory usage w/ FOP > Philip S. Constantinou wrote: > > Hi - > > If I'm using an XSL Transformer and an XML ByteArrayOutputStream to create a > > FO formatted document which is rendered as PDF or printed, what is a good > > assumption to make about the memory utilization? Is the entire merged FO > > document stored in memory or can the FO processor stream out the PDF or > > printed page? > > I'm not sure where the "XML ByteArrayOutputStream" > comes into play. > As for FOP itself: the processor has limited capabilities > for streaming, it also depends on the layout. > FOP starts reading the FO into an internal tree. After > the end of a page sequence, it starts rendering pages, > which can use a huge amount of memory. If you use forward > references to page numbers (like "page X of N"), every > page from the reference on is held in memory until the > element the reference points to is rendered. Elements > spanning multiple pages, in particular tables, are also > held in memory at least until the page it ends is completed. > Large images are also known as memory hogs. > > Some rules of thumb (roughly in this order) > - Don't use forward references. Put TOCs at the end. > - Use multiple page sequences. > - Avoid large images, scale them before feeding them to > FOP (unless print quality matters). For some formats, > in particular JPEG, the file size matters, not the > height*width, therefore choosing a higher compression > can help. > - Avoid large tables spanning multiple pages, use multiple > tables instead. > > HTH > J.Pietschmann > >