Did you remove all page-number-citations? Without getting my hands on your documents I don't have any further ideas for you. You may need to accept that XSL-FO may not be the right approach for what you're doing as I have told you before.
On 06.06.2006 08:51:45 Debasish Jana wrote: > Hi: > > We managed to prepare a XSL-FO document with physical breaking into multiple > page-sequences, roughly 1,00,000 records to be shown in a table. While doing > so, we split one page-sequence to hold approx. 200 records, but FOP 0.92 is > failing with OutOfMemory. Increasing the heap size it performs better, but > not through. > > Please help by providing us some tips. > > Regards, > > Debasish > > -----Original Message----- > From: Jeremias Maerki [mailto:[EMAIL PROTECTED] > Sent: Friday, May 12, 2006 12:15 PM > To: fop-users@xmlgraphics.apache.org > Subject: Re: FOP 0.92 Beta : Performance related question > > > On 11.05.2006 10:17:36 Debasish Jana wrote: > > Hi: > > > > I have a question related to performance issues. How large an xsl-fo file > > can be? How large volume it can support? > > Depends on how much memory you can provide. But that's the wrong > question in my opinion. The question should be: Is XSL-FO the right > approach to generate huge but simple tabular reports? My answer is no in > many cases as has been discussed on this list before. > > > I have an application that fetched approx. 60,000 records fetched from > > database an populates in a fo:table-cell as text. Basically, it uses the > > following block of fo-tags repeatedly to populate a huge chunk of data. > > > > ------ > > <fo:table-row height="42pt" > > > <fo:table-cell > > > > > <fo:block><fo:block text-align="left"> > > <fo:inline ...> > > Some data > > </fo:inline> > > </fo:block> > > </fo:table-cell> > > </fo:table-row> > > ------ > > > > My specific questions are: > > > > - Can you suggest a shortcut so that fo-tags can pull data from the > database > > directly? > > That's not how XSL-FO works. Not an option. > > > - What is the best suggested approach to handle large volume of data > passed > > embedded inside fo-tags? > > Get rid of everything unneccessary, like the nested blocks and the > inline that you're showing above. Every nesting level eats memory. > > > We can think of the following: > > > > - Have a streaming fo input to the FOP renderer to generate PDF. Can you > > provide a sample code to handle FOP rendering to PDF from a FO file > through > > streaming? > > Depends on what you mean by streaming. FOP is built to accept a SAX > stream, so if you're building a DOM for the FO document and then pass > that to FOP you're giving away memory. Rework your system to create SAX > directly as demonstrated here: > http://xmlgraphics.apache.org/fop/latest/embedding.html#examples > > While FOP processes a document internal trees are built which > essentially cancels the effect of streaming for large page-sequences > especially > since FOP is not optimized for large page-sequences, yet. > > > - We were reading a link in FOP documents, it says "To minimize the amount > > of memory used by FOP, we wish to recycle FO Tree memory as much as > > possible. There are at least three possible places that FO Tree fragments > > could be passed to the Layout process, so that their memory can be reused: > > > > fo:block , fo:root and fo:page-sequence > > > > Could you please clarify with some supporting examples or some link that > we > > can read to get the guideline? > > There may be something in the mailing list archive but essentially this > means you have to do most of the page breaking process yourself in XSLT > by predicting when a page is full and then use page-sequences to divide > the document. FOP can currently only free memory after a page-sequence > is complete and that's why you need to create multiple smaller > page-sequences. > > > My last question: Is FOP designed to handle large volumes like this? > > At the moment, FOP is not optimized to handle large volumes. The recent > focus has been on functionality. The architecture is prepared to handle > large volumes but to really cope with them additional work is needed. > > > Please reply soon. We are standing of major decision based on your answer. Jeremias Maerki --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]