If you know that none of your table cells are going to wrap you could count
rows at the XSLT level and put in a new page sequence every x pages. This
defeats a lot of the elegance of FOP, but could work. My problem is I have
lots of random cell-wrapping, and I'm not about to start trying to calculate
in my XSLT when FOP will wrap a cell.
Matt Savino
-Original Message-
From: Mirko Sertic [mailto:[EMAIL PROTECTED]
Sent: Monday, May 06, 2002 8:00 AM
To: [EMAIL PROTECTED]
Subject: AW: Memory usage on lage documents
Hi there again!
Thanks for your help.
I think you are right and my extremly long page sequences are
the matter.
In fact, i have only one page-sequence.
The problem is, i cannot create multiple page sequences
because i do not
know
where to break my pages. Every table-row in my document is
unique and so i
do
not know where to break.
I could limit the page-sequence to let me say 20 rows per
page, but this
would
destroy my cool report layout ( I know that sounds silly but you know
customers whishes !!! )
Is there any other way?
Bye
Mirko
-Ursprungliche Nachricht-
Von: Cyril Rognon [mailto:[EMAIL PROTECTED]
Gesendet: Montag, 6. Mai 2002 16:49
An: [EMAIL PROTECTED]
Betreff: Re: Memory usage on lage documents
Mirko,
there are many post on this list that point out the
weaknesses of the FOP
engine. The main enemies are : long page sequence and
forward references.
If you use long tables, then you most certainly have long
page sequences.
If you have logical page break in your tables, please, change
your XSLT
code to generate page-sequence break in your tables. The shortest page
sequence the least memory used.
As for the lot of time to complete the work, it appear that forward
reference may be responsible for this. I hav had the same
proble for 400 to
1000 pages documents that have the famous total number of
pages at the
bottom of every pages. I have successfully set up an unclean
workaround : I
generate my total number of pages after PDF generation is
complete using
iText software. I even generate my toc at the end of the fo
file and then I
move it at the top of the document and then write the number
of pages at
the right place on every pages. This is pretty simple if you
look at iText
sample code (itext.sourceforge.net).
The last thing : C++ or C or ASM formatter won't help much
because it is
the global design that makes FOP slow and memory consumer.
The redesign is
on it's way. The workarounds I have mentionned are just gizmo
to allow one
to wait for the next generation of FOP.
Hope that helps,
Cyril
At 16:29 06/05/2002 +0200, you wrote:
Hi there folks!
I've a question regarding the memory usage of the fop
formatter with large
documents.
I'm rendering a large list with about 450 pages and 1
table entries.
When i look ad the memory usage of the fop formatter in my win32
enrironment, i see
that it consumes about 180 MBytes of memory and it needs a
lot of time to
complete its
work!
Is there any way to make it faster or to let it use not so
much memory
without throwing
an out ot memory error?
Is there any c++ formatter out there that is open source and
can do the
work
faster and
without so much memory usage?
Thanks a lot
Mirko