I'm new to FOP and followed the discussions on this list for the last few 
days since I'm currently trying to use XSL:FO to produce the PDF 
documentation for a project database which is in XML format.

While I'm very satisfied with the resulting output, I have strong doubts 
about the usability of FOP in our environent due to its huge memory 
requirements. Although I currently only included about 50% of the contents 
of the database, FOP requires around 250MB of memory for the 110-page 
output PDF, so I would estimate the memory requirements for the total 
contents to ~512MB and since this is not a server-based environment, this 
memory would have to be available on every box. From what I've read on the 
list, I'm sure this is due to excessive usage of forward references and 
large (partly nested) tables spanning multiple pages. However, this is an 
absolute requirement for our documentation.

So, I have two questions/suggestions:
1) Wouldn't it be possible to let FOP create the output in two steps like 
for instance (La)TeX does. Doing a dry run first only to calculate the 
page references, store them somewhere, and then produce the actual output 
in a second run.
2) Are there plans to port FOP to C/C++ sometime? I guess that at least 
part of the memory consumption is to be blamed on Java and IIRC the 
underlying Xerces and Xalan are already available as C++ versions, so why 
not FOP?


Reply via email to