Reputation: 101261
I need to get text aligned right and left on the same line. This should be possible, but i can't seem to find a way. I'm using Apache FOP to convert xml to pdf.
Can someone help me to get this right?
Upvotes: 28
Views: 39565
Reputation: 383
I create two blocks and on the second block I set this attribute:
margin-top="-4mm"
or what your font size and margin bottom are (just to look like they are on same line)
Upvotes: 0
Reputation: 51
<fo:inline-container vertical-align="top" inline-progression-dimension="49.9%">
<fo:block>left content</fo:block>
</fo:inline-container>
<fo:inline-container vertical-align="top" inline-progression-dimension="49.9%">
<fo:block>right-content</fo:block>
</fo:inline-container>
Verified working with FOP 2.0
Upvotes: 5
Reputation: 6095
Elegance wasn't a stated requirement, but this should fit the bill:
<fo:block text-align-last="justify">
LEFT TEXT
<fo:leader leader-pattern="space" />
RIGHT TEXT
</fo:block>
This works by justifying the last line of text in the block, so that the text begins at the left of the line and ends at the right. The leader, which is usually used on Table of Contents pages, stretches to fill the space between the left and right text. Normally it is used as <fo:leader leader-pattern="dots" />
, which produces a stretch of periods, but in this case it merely provides a gulf of space.
Upvotes: 46
Reputation: 6095
This will do the trick:
<fo:table>
<fo:table-column />
<fo:table-column />
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block>LEFT TEXT</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="right">RIGHT TEXT</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
Upvotes: 12
Reputation: 1934
I dont't have the time right now to test this but check out http://www.w3.org/TR/xsl/#fo_float
float one right float the other left - i'd give it a shot if I was looking to do what you are describing
you could also use a table
unless by aligned right AND left you mean justified...
Upvotes: 0
Reputation: 13536
This is possible i'm not sure what the exact output is but have you tried:
<fo:block-container>
<fo:block text-align="left">text</fo:block>
<fo:block text-align="right">text</fo:block>
</fo:block-container >
I haven't done XSLFO in a while but i can certainly recommend Stylus Studio for XSL-FO development (and in general XML), The in-app debugging and previewing saved my ass on finishing deadlines on time. You can make Stylus work with the Apache FOP processor as well.
PS: I would have double checked if i had Apache FOP etcetera set up correctly back at home as well.
Upvotes: -1