我在xsl:fo方面苦苦挣扎,无法生成pdf。我正在尝试使用包含2行的内联内联文本元素生成一个Block。
<fo:block>
<fo:inline>
<xsl:value-of select="concat('Title:', $title)"/>
</fo:inline>
<fo:leader leader-pattern="space"/>
<fo:inline>
<fo:block>Info:</fo:block>
<fo:block><xsl:value-of select="$date"/> </fo:block>
</fo:inline>
</fo:block>
但是它不起作用。是否可以按模式绘制?
答案 0 :(得分:0)
您绘制的内容就像一张桌子。
您可以将两个块放入fo:inline-container
(https://www.w3.org/TR/xsl11/#fo_inline-container)中:
<fo:block>
<fo:leader leader-pattern="space" leader-length.optimum="50%" />
<fo:inline>
title
</fo:inline>
<fo:leader leader-pattern="space" leader-length.optimum="50%" />
<fo:inline-container alignment-baseline="middle">
<fo:block>Info:</fo:block>
<fo:block>date</fo:block>
</fo:inline-container>
</fo:block>
更像表的替代方法:
<fo:block text-align="center">
<fo:inline-container width="80%">
<fo:block>title</fo:block>
</fo:inline-container><fo:inline-container alignment-baseline="middle" width="20%">
<fo:block>Info:</fo:block>
<fo:block>date</fo:block>
</fo:inline-container>
</fo:block>
作为表格:
<fo:table width="100%" text-align="center">
<fo:table-body>
<fo:table-row>
<fo:table-cell width="80%" display-align="center">
<fo:block>title</fo:block>
</fo:table-cell>
<fo:table-cell width="20%">
<fo:block>Info:</fo:block>
<fo:block>date</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>