Hi Vincent,
hi list,

I'm trying to understand how the prototype works and I think I almost got the idea. To improve my understanding and to do some practice I've implemented three best fit algorithms in the prototype: at line level, at paragraph level and at page level. My code is far from being perfect and clean, I just want to know if I understood how things work. In particular best fit at line level is a bit more complicated to be handled and my implementation is almost an ugly hack; moreover I'm not sure that my changes do not have side effects in classes that deal with both page and line breaking. Line best fit is more complicated because it needs the ability to rollback when there are no possible layouts (that fits in stretch and shrink limits) for a line. From my point of view the best fit at page level is the more interesting approach: my main goal is to have fop finalizing page and producing output ASAP to reduce memory consumption (discard rendered page) and, as a consequence, allowing FOP to process input file of any size. More precisely, I have a customer request to satisfy: there's an automated machine that produce xml reports ~500MB large with ~1 Million of records, this reports must be translated in a pdf document (containing a single table where each row represents a record) resulting in ~20000 pages. I've read you are working on table implementation for the prototype, I was wondering what are the following steps, which features the prototype needs before you can conclude the experiment as successful and start porting the algorithm in fop trunk.

Thanks in advance,

Attachment: bestFit.diff
Description: Binary data

Reply via email to