我正在从xml和xsl-fo以及Apache FOP创建一个pdf文件,我需要在一行上写文本。
我的意思是像手工编写的形式,你写姓,姓等。
像这样的东西:
Name: ______John_________
但这条线也在名下。
我试图用一个fo:领导者。
所有都在一个表格单元格中。
使用此代码
<fo:table-cell column-number="3" font-size="10pt" number-columns-spanned="4">
<fo:block space-before="2mm" wrap-option="no-wrap" overflow="visible" margin-top="2mm" margin-left="3mm">
<xsl:value-of select="$element/value"/>
</fo:block>
<fo:block wrap-option="no-wrap" overflow="visible" margin-left="2mm" margin-top="0mm">
<fo:leader leader-length="130mm"
leader-pattern="rule"
rule-style="solid"
rule-thickness="0.1mm"
color="black"></fo:leader>
</fo:block>
</fo:table-cell>
我得到了一条直线,但它并没有立即在这个词之下,如果我为领导者块设置了 margin-top =“ - 3mm”,那就不会改变。 我怎样才能得到这样的结果?还有其他方法吗?
非常感谢
答案 0 :(得分:4)
我用另一种方式得到了结果:fo:block border-bottom="solid" border-bottom-width="0.2mm"
做了伎俩。需要<fo:leader />
中的</fo:block>
才能使下划线值(本例中为John)为空。
<fo:table-row>
<fo:table-cell font-size="10pt">
<fo:block>
<xsl:text>Nome:</xsl:text>
</fo:block>
</fo:table-cell>
<fo:table-cell font-size="10pt">
<fo:block border-bottom="solid" border-bottom-width="0.2mm">
<xsl:text>John</xsl:text>
<fo:leader />
</fo:block>
</fo:table-cell>
</fo:table-row>
答案 1 :(得分:2)
这是一种黑客攻击,但您可以使用fo:list-block
...
<强> XSL-FO 强>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="my-page" page-width="8.5in" page-height="11in">
<fo:region-body margin="1in" margin-top="1.5in" margin-bottom="1.5in"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="my-page">
<fo:flow flow-name="xsl-region-body">
<fo:table width="50%">
<fo:table-body>
<fo:table-row>
<fo:table-cell border-style="solid" padding="4px">
<fo:list-block provisional-distance-between-starts="15%">
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>Name:</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block text-align="center" border-bottom-style="solid">John</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:flow>
</fo:page-sequence>
</fo:root>
PDF输出(使用FOP 1.0)
您可能需要使用provisional-distance-between-starts
来查看对您的数据有用的内容。