【问题标题】:XSL FO inline alignmentXSL FO 内联对齐
【发布时间】:2008-12-24 16:24:42
【问题描述】:

我需要让文本在同一行左右对齐。这应该是可能的,但我似乎找不到办法。我正在使用 Apache FOP 将 xml 转换为 pdf。

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: pdf xsl-fo


    【解决方案1】:

    优雅不是一个明确的要求,但这应该符合要求:

    <fo:block text-align-last="justify">
      LEFT TEXT
      <fo:leader leader-pattern="space" />
      RIGHT TEXT
    </fo:block>
    

    这通过对齐块中的最后一行文本来工作,以便文本从该行的左侧开始并在右侧结束。前导符通常用在目录页面上,它会伸展以填充左右文本之间的空间。通常它被用作&lt;fo:leader leader-pattern="dots" /&gt;,这会产生一段句号,但在这种情况下它只是提供了一个空间。

    【讨论】:

    • 哇...终于有了一个巧妙的解决方案。我总是为此构建复杂的单行表。谢谢!
    【解决方案2】:

    这样就可以了:

    <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>
    

    【讨论】:

    • 为我工作谢谢(我也添加了表格和列的宽度)
    • 也适用于表行级别。 +1
    【解决方案3】:
    <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

    【讨论】:

      【解决方案4】:

      我现在没有时间对此进行测试,但请查看http://www.w3.org/TR/xsl/#fo_float

      一个向右浮动另一个向左浮动 - 如果我想做你所描述的事情,我会试一试

      你也可以用一张桌子

      除非左右对齐,否则您的意思是对齐...

      【讨论】:

      • 太糟糕了,Apache FOP 不支持 fo:float。
      • alt soft, www.alt-soft.com ,我最近使用的包刚刚增加了对它的支持。我还没有机会尝试一下
      【解决方案5】:

      我创建了两个块,并在第二个块上设置了这个属性:

      margin-top="-4mm"
      

      或者你的字体大小和底部边距是多少(只是看起来它们在同一行)

      【讨论】:

        【解决方案6】:

        这是可能的,我不确定确切的输出是什么,但你尝试过吗:

        <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 等,我会再次检查。

        【讨论】:

        • 不起作用。这两个元素在不同的行上,而不是在同一行上。
        • 我现在也已经在家里设置好了所有东西(无论如何都需要)你能否更具体地说明你想要什么以及为什么 fo:table 不起作用?
        猜你喜欢
        • 1970-01-01
        • 2023-03-03
        • 1970-01-01
        • 1970-01-01
        • 2020-01-08
        • 1970-01-01
        • 1970-01-01
        • 2021-01-14
        • 2015-09-02
        相关资源
        最近更新 更多