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

Re: Adding text to bottom of page

Expand Messages
  • Jason
    See, I tried that block-container thing, as it seems like the least-hacked way to do it and FOP gives me the error message [ERROR]
    Message 1 of 4 , Feb 9, 2004
    • 0 Attachment
      See, I tried that block-container thing, as it seems like the
      least-hacked way to do it and FOP gives me the error message "[ERROR]
      java.lang.ClassCastException: org.apache.fop.layout.BlockArea"
      whenever I include a block-container anywhere other than in the
      static-content elements.

      I tried using the footnote thing, but I can't get it to work with a
      blank fo:inline element. It works perfectly as long as I have
      something in the inline. Otherwise, it just skips the whole footnote.

      As for the overlapping regions thing, that can't work in this case
      because these notes only appear in certain circumstances, other times
      the page content fills up the entire body, in which case I can't have
      them overlapping. Besides, that seems seriously hacky, and I'm not
      sure it would make it through a code review.

      Dear god this crap gets under my skin sometimes.

      --- In XSL-FO@yahoogroups.com, Eliot Kimber <ekimber@i...> wrote:
      > Jason wrote:
      >
      > > I need to add a line to the bottom of a page. I'm not talking
      about
      > > the footer, I mean the bottom of the xsl-region-body. I have some
      > > pages that have text at the top, and then a footer, and I need a
      > > line or two to appear right above the footer, but still in the
      body
      > > area.
      > >
      > > Is there a way to force a fo:block to show up at the bottom? I
      canf
      > > figure it out for the life of me.
      >
      > You can do this with fo:footnote. If you're not creating a real
      > footnote, then just use an empty fo:inline for anchor.
      >
      > You can also do it with fo:block-container with display-align="end"
      and
      > positioned or sized to that it's end edge is at the bottom of the
      page.
      >
      > Finally, you can do it with the "overlapping page regions trick".
      In
      > this approach, you define your page regions so the region-after
      overlaps
      > the region-body enough to allow space for the text you want to
      place.
      >
      > You then use markers in the normal way to put text in that area.
      >
      > If you need to force the text to the bottom of a block, you can use
      > either fo:block-container with display-align="end" if your FO
      > implementation supports block-container or a single-cell table.
      >
      > The downside with the overlapping regions approach is that there's
      no
      > coordination between the two regions, so you can't prevent the body
      > content overprinting the region end content.
      >
      > But if you're just trying to force the page content to the bottom
      and
      > there's no chance of conflict, then it will work well enough.
      >
      > Cheers,
      >
      > Eliot
      > --
      > W. Eliot Kimber
      > Professional Services
      > Innodata Isogen
      > 9030 Research Blvd, #410
      > Austin, TX 78758
      > (512) 372-8122
      >
      > eliot@i...
      > www.innodata-isogen.com
    • J.Pietschmann
      ... Last time I looked an empty worked for me. If all else fails, put a zero width space into the fo:inline. J.Pietschmann
      Message 2 of 4 , Feb 9, 2004
      • 0 Attachment
        Jason wrote:
        > I tried using the footnote thing, but I can't get it to work with a
        > blank fo:inline element. It works perfectly as long as I have
        > something in the inline. Otherwise, it just skips the whole footnote.

        Last time I looked an empty <fo:inline/> worked for me. If all
        else fails, put a zero width space into the fo:inline.

        J.Pietschmann
      • Eliot Kimber
        ... You can do this with fo:footnote. If you re not creating a real footnote, then just use an empty fo:inline for anchor. You can also do it with
        Message 3 of 4 , Feb 18, 2004
        • 0 Attachment
          Jason wrote:

          > I need to add a line to the bottom of a page. I'm not talking about
          > the footer, I mean the bottom of the xsl-region-body. I have some
          > pages that have text at the top, and then a footer, and I need a
          > line or two to appear right above the footer, but still in the body
          > area.
          >
          > Is there a way to force a fo:block to show up at the bottom? I canf
          > figure it out for the life of me.

          You can do this with fo:footnote. If you're not creating a real
          footnote, then just use an empty fo:inline for anchor.

          You can also do it with fo:block-container with display-align="end" and
          positioned or sized to that it's end edge is at the bottom of the page.

          Finally, you can do it with the "overlapping page regions trick". In
          this approach, you define your page regions so the region-after overlaps
          the region-body enough to allow space for the text you want to place.

          You then use markers in the normal way to put text in that area.

          If you need to force the text to the bottom of a block, you can use
          either fo:block-container with display-align="end" if your FO
          implementation supports block-container or a single-cell table.

          The downside with the overlapping regions approach is that there's no
          coordination between the two regions, so you can't prevent the body
          content overprinting the region end content.

          But if you're just trying to force the page content to the bottom and
          there's no chance of conflict, then it will work well enough.

          Cheers,

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

          eliot@...
          www.innodata-isogen.com
        Your message has been successfully submitted and would be delivered to recipients shortly.