Loading ...
Sorry, an error occurred while loading the content.
 

Changing column counts in the middle of a page

Expand Messages
  • douglasoosterbaan
    I m fairly new to XSL-FO so forgive me if this is a simple question but I ve been trying to render a physical page in which the top half of the page has a
    Message 1 of 3 , Apr 30, 2004
      I'm fairly new to XSL-FO so forgive me if this is a
      simple question but I've been trying to render a physical
      page in which the top half of the page has a single column
      of text (centered), and the bottom half has a dual column
      format. The dual column text should then flow onto other
      body pages formatted entirely for dual column, which I handle
      with different page-masters.

      My approach has been to try change to column-count property
      at the <fo:block> level, or to set different column-count
      values for a <region-before> vs. a <region-body>. But the
      entire page always seems to get formatted with the same
      column-count. I can render the whole page as single column,
      or as multi-column, but can't change in the middle.
      I'm using Apache FOP on a Solaris environment.

      Any ideas??
      Thank you.
    • Eliot Kimber
      ... To do this you have to define your fo:region-body to have two columns and then use span= all on the blocks that should *not* be two columns. Note that
      Message 2 of 3 , Apr 30, 2004
        douglasoosterbaan wrote:

        > I'm fairly new to XSL-FO so forgive me if this is a
        > simple question but I've been trying to render a physical
        > page in which the top half of the page has a single column
        > of text (centered), and the bottom half has a dual column
        > format. The dual column text should then flow onto other
        > body pages formatted entirely for dual column, which I handle
        > with different page-masters.

        To do this you have to define your fo:region-body to have two columns
        and then use span="all" on the blocks that should *not* be two columns.

        Note that span= can only legally be specified on blocks that are direct
        children of fo:flow, which can complicate your block generation a little
        bit if you're in the habit of just blindly throwing container blocks
        around stuff whether they are really needed or not. Not all FO
        implementations enforce this rule, but some do.

        To balance columns you follow a multi-column block by an empty,
        zero-height spanning block.

        Cheers,

        Eliot

        --
        W. Eliot Kimber
        Professional Services
        Innodata Isogen
        9030 Research Blvd, #410
        Austin, TX 78758
        (512) 372-8122

        eliot@...
        www.innodata-isogen.com
      • J.Pietschmann
        ... Multiple comlumns is a body region property. You can t change it mid-page. Fortunately, in your special case you can make the whole layout two-column, and
        Message 3 of 3 , Apr 30, 2004
          douglasoosterbaan wrote:

          > I'm fairly new to XSL-FO so forgive me if this is a
          > simple question but I've been trying to render a physical
          > page in which the top half of the page has a single column
          > of text (centered), and the bottom half has a dual column
          > format. The dual column text should then flow onto other
          > body pages formatted entirely for dual column, which I handle
          > with different page-masters.
          >
          > My approach has been to try change to column-count property
          > at the <fo:block> level, or to set different column-count
          > values for a <region-before> vs. a <region-body>. But the
          > entire page always seems to get formatted with the same
          > column-count.

          Multiple comlumns is a body region property. You can't
          change it mid-page. Fortunately, in your special case
          you can make the whole layout two-column, and use
          a fo:block with span="all" for the single column content
          stretches.

          J.Pietschmann
        Your message has been successfully submitted and would be delivered to recipients shortly.