Let it be know, far and wide:  I'm an idiot; Vincent is a saviour.

Much thanks to the whole crew working on fop.



On 06/20/2011 08:30 AM, Vincent Hennebert wrote:
Hi Rob,

On 17/06/11 22:27, Rob Sargent wrote:
This indent stuff very nearly does the trick, but not quite.

The outer edges of both pages are perfect, so the -negative start-indent on
the right-hand page pulls the right edge of the table exactly where I want it
(in line with the text margin of the page) by outdenting exactly half the
table.  The left-hand page start correctly too but this isn't much of a
surprise. :)

However the gutters near the spine are not respected.  I define my page
margins as follows:

    <xsl:variable name="leftPageMargins">  0.0in 0.833in 0.6in
    0.0in</xsl:variable>
    <xsl:variable name="rightPageMargins">0.0in 0.0in 0.6in
    0.833in</xsl:variable>

hoping to have the table not write into the "0.833in" gutters.  I define a
margin-left/right on the region-body and region-before to set the outer edges
correctly (there's even a good reason for doing this).

I've tried playing with the indent numbers but that only shifts the start point.

I've tried "overflow=hidden" on the region but this just gives me a completely
blank area!?
This is due to Bugzilla #49910, partially fixed in Trunk.
https://issues.apache.org/bugzilla/show_bug.cgi?id=49910


No effect with overflow=hidden on the table data.  (Confession:
the table of data is, for reasons long since lost, in a cell of a containing
table but wrapping the table in a "fo:block overflow=hidden" doesn't help.)
Try with fo:block-container instead:
   <fo:block-container width="100%" height="100%" overflow="hidden">
     <!-- The table -->
   </fo:block-container>


I'm this close to setting "color=white background-color=white" in the
last/first visible column but that kind of programming in xsl is just plain 
ugly.

So my initial objective has been accomplished: I can perfectly size all
tables, including those which span facing pages.  I can show the table data as
it would appear on each page.  I just show a little more than I would like.
This will have to do for now, until I gain the strength to do the
white-on-white trick.  Other chores beckon at this point.

Cheers,
HTH,
Vincent


On 06/10/2011 10:23 AM, Vincent Hennebert wrote:
Hi Rob,

(Sorry for the delay.)

On 01/06/11 00:30, Rob Sargent wrote:
I have a table of data which is designed to span across two facing pages.
Thanks to the tip from Jeremias Maerki I can size the tables perfectly and
allot the correct space in the region-before or each page. But how do I get
the table to "break" across the two pages nicely?  Since the definition of
each line's depth my be determined by any column I cannot lay the two halves
out separately.  It would be cool if it would just flow nicely all by itself
but that's not quite how flow works far as I know.  Perhaps I could lay the
entire table in both region and have it truncate the left/right overflow?
That seems to me like the best way to achieve what you want. Normally
you just have to play with start-indent and end-indent on the table. You
can even set the other indent (end-indent or start-indent) to a negative
value to avoid FOP warnings. Something like this:
• for even pages:
    <fo:table table-layout="fixed" width="200%"
      start-indent="0" end-indent="-100%">
      <fo:table-header start-indent="0" end-indent="0">
        ...
      </fo:table-header>
      <fo:table-body start-indent="0" end-indent="0">
        ...
      </fo:table-body>
    </fo:table>
• for odd pages:
    <fo:table table-layout="fixed" width="200%"
      start-indent="-100%" end-indent="0">
      <fo:table-header start-indent="0" end-indent="0">
        ...
      </fo:table-header>
      <fo:table-body start-indent="0" end-indent="0">
        ...
      </fo:table-body>
    </fo:table>

(You may have to adjust the width of the table a bit to account for its
borders.)


Seems possible for the left page, but would it work for the right hand page.
i.e. Can one force the region to in essence "fill from the right".

Or is there a correct way to accomplish this?

All pointer welcome,

rjs
HTH,
Vincent

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to