【发布时间】:2008-12-24 16:24:42
【问题描述】:
我需要让文本在同一行左右对齐。这应该是可能的,但我似乎找不到办法。我正在使用 Apache FOP 将 xml 转换为 pdf。
有人可以帮我解决这个问题吗?
【问题讨论】:
我需要让文本在同一行左右对齐。这应该是可能的,但我似乎找不到办法。我正在使用 Apache FOP 将 xml 转换为 pdf。
有人可以帮我解决这个问题吗?
【问题讨论】:
优雅不是一个明确的要求,但这应该符合要求:
<fo:block text-align-last="justify">
LEFT TEXT
<fo:leader leader-pattern="space" />
RIGHT TEXT
</fo:block>
这通过对齐块中的最后一行文本来工作,以便文本从该行的左侧开始并在右侧结束。前导符通常用在目录页面上,它会伸展以填充左右文本之间的空间。通常它被用作<fo:leader leader-pattern="dots" />,这会产生一段句号,但在这种情况下它只是提供了一个空间。
【讨论】:
这样就可以了:
<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>
【讨论】:
<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>
已验证可使用 FOP 2.0
【讨论】:
我现在没有时间对此进行测试,但请查看http://www.w3.org/TR/xsl/#fo_float
一个向右浮动另一个向左浮动 - 如果我想做你所描述的事情,我会试一试
你也可以用一张桌子
除非左右对齐,否则您的意思是对齐...
【讨论】:
我创建了两个块,并在第二个块上设置了这个属性:
margin-top="-4mm"
或者你的字体大小和底部边距是多少(只是看起来它们在同一行)
【讨论】:
这是可能的,我不确定确切的输出是什么,但你尝试过吗:
<fo:block-container>
<fo:block text-align="left">text</fo:block>
<fo:block text-align="right">text</fo:block>
</fo:block-container >
我有一段时间没有做过 XSLFO,但我当然可以推荐 Stylus Studio 用于 XSL-FO 开发(以及一般的 XML),应用内调试和预览让我在按时完成最后期限时节省了很多时间。您也可以让 Stylus 与 Apache FOP 处理器一起使用。
PS:如果我在家里也正确设置了 Apache FOP 等,我会再次检查。
【讨论】: