You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by Adam Kovacs <a....@i-docs.com> on 2010/08/19 10:03:13 UTC

Region-body column balancing (bug with table?)

Hi There!

 Im facing a problem I don't know if its a bug or not.

Im using a 2 columned region-body:
<fo:region-body region-name="PageBody" margin-top="68mm" margin-bottom="14mm" margin-left="32mm" margin-right="16mm" column-count="2" />

I want to fill the columns with content like :
<fo:block span="none" > ...(called template with content) ..
<fo:block span="all"> ... (called template with one line (summary)) ..

If the content is made of normal blocks the columns are balanced before the span="all" summary line.
like:
123456    456789
234567    567890
345678    678901
Summary: 1234567890

But if the content is a table with rows and cells the columns are NOT balanced. (the right column is shorter)
like:
123456    567890
234567    678901
345678    
456789
Summary: 1234567890

Any help or idea is really appreciated!!!
Thanks in advance!


Adam 
Using FOP 1.0

Re: Region-body column balancing (bug with table-header!)

Posted by Adam Kovacs <a....@i-docs.com>.
Hi There!

 I finally had to dig into the code of Fop as I really need this balancing to work fine.
I found the Class BalancingColumnBreakingAlgorithm where I made some tests.

It seems for me that the calculation of the "fullLen" does not return the correct value:
"fullLen = ElementListUtils.calcContentLength(par, activeNode.position, par.size() - 1);"

I think the headers appearing in the other columns except the first one are not counted into the full content length.
When I added the approx. width of the header to the "fullLen" the balancing was fine as the "idealPartLen" had the right value.

Can anybody tell me please if this could be fixed?

Thanks in advance!

Adam
Using FOP 1.0

> Hi!
> 
>  I made some basic tests and found some additional info. (basic test attached) 
> If Im using no header the problem does not occur.
> But with header the columns are not balanced.
> like:
> Header    Header
> 123456    567890
> 234567    678901
> 345678    
> 456789
> Summary: 1234567890
> 
> This is not normal or???
> 
> Adam 
> <fo.xml><ATT00001..htm>


Re: Region-body column balancing (bug with table-header!)

Posted by Adam Kovacs <a....@i-docs.com>.
Hi There!

 I finally had to dig into the code of Fop as I really need this balancing to work fine.
I found the Class BalancingColumnBreakingAlgorithm where I made some tests.

It seems for me that the calculation of the "fullLen" does not return the correct value:
"fullLen = ElementListUtils.calcContentLength(par, activeNode.position, par.size() - 1);"

I think the headers appearing in the other columns except the first one are not counted into the full content length.
When I added the approx. width of the header to the "fullLen" the balancing was fine as the "idealPartLen" had the right value.

Can anybody tell me please if this could be fixed?

Thanks in advance!

Adam
Using FOP 1.0

> Hi!
> 
>  I made some basic tests and found some additional info. (basic test attached) 
> If Im using no header the problem does not occur.
> But with header the columns are not balanced.
> like:
> Header    Header
> 123456    567890
> 234567    678901
> 345678    
> 456789
> Summary: 1234567890
> 
> This is not normal or???
> 
> Adam 
> <fo.xml><ATT00001..htm>


Re: Region-body column balancing (bug with table?)

Posted by Adam Kovacs <a....@i-docs.com>.
Hi!

 I made some basic tests and found some additional info. (basic test attached) 
If Im using no header the problem does not occur.
But with header the columns are not balanced.
like:
Header    Header
123456    567890
234567    678901
345678    
456789
Summary: 1234567890

This is not normal or???

Adam 
> Hi There!
> 

>  Im facing a problem I don't know if its a bug or not.
> 
> Im using a 2 columned region-body:
> <fo:region-body region-name="PageBody" margin-top="68mm" margin-bottom="14mm" margin-left="32mm" margin-right="16mm" column-count="2" />
> 
> I want to fill the columns with content like :
> <fo:block span="none" > ...(called template with content) ..
> <fo:block span="all"> ... (called template with one line (summary)) ..
> 
> If the content is made of normal blocks the columns are balanced before the span="all" summary line.
> like:
> 123456    456789
> 234567    567890
> 345678    678901
> Summary: 1234567890
> 
> But if the content is a table with rows and cells the columns are NOT balanced. (the right column is shorter)
> like:
> 123456    567890
> 234567    678901
> 345678    
> 456789
> Summary: 1234567890
> 
> Any help or idea is really appreciated!!!
> Thanks in advance!
> 
> 
> Adam 
> Using FOP 1.0