Caroline
Caroline

Reputation: 171

XSL-FO 1.0 Forcing content to fill first column in two column format

I'm using a two-column layout for a small table.

<fo:block-container column-count="2">
    <fo:table border-bottom="solid" border-bottom-width=".5pt" 
        border-top="solid" table-layout="fixed" table-omit-header-at-break="false" 
            table-omit-footer-at-break="true" text-align="start" white-space-treatment="preserve" 
            width="4in" hyphenate="true" cols="4">
                <fo:table-column column-number="1" column-width="30%"/>
                <fo:table-column column-number="2" column-width="20%"/>
                <fo:table-column column-number="3" column-width="20%"/>
                <fo:table-column column-number="4" column-width="20%"/>
                <fo:table-header>
                    <xsl:call-template name="NI-HEADER"/>
                </fo:table-header>
            <fo:table-body>
                <xsl:call-template name="SortParts"/>
            </fo:table-body>
    </fo:table>
</fo:block-container>

This works great, except that the last page only has ten rows and it's being split between the two columns. Is there a way to force the last page to fill first column before going into the next column? enter image description here

Upvotes: 0

Views: 1218

Answers (1)

Toshihiko Makita
Toshihiko Makita

Reputation: 1304

Following extension property will help you:

axf:column-fill / CSS (-ah-)column-fill

http://www.antenna.co.jp/AHF/help/v62e/ahf-ext.html#axf.column-fill

<fo:block-container axf:column-count="2">

enter image description here

<fo:block-container axf:column-count="2" axf:column-fill="auto">

enter image description here

Upvotes: 3

Related Questions