我有以下问题:
我需要使用XSLFO生成一个2列的多页文档。问题是:我需要在2列之间有一条垂直线。由于XSLFO似乎没有指定创建这样一个分隔符的选项,我需要手动将它放在那里。
我正在考虑使用静态旋转的blockcontainer和它的领导者。 但是,看起来不可能在与流内容来源相同的区域上使用静态内容。
<fo:layout-master-set>
<fo:simple-page-master
page-width="170mm"
page-height="222mm"
master-name="page"
>
<fo:region-body region-name="xsl-region-body"
margin-top="2mm"
margin-bottom="2mm"
margin-left="10mm"
margin-right="10mm"
column-count="2"
column-gap="5mm"
/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="page">
<fo:static-content flow-name="xsl-region-body" ><!-- This gives a error -->
<fo:block>test</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<xsl:apply-templates/>
</fo:flow>
</fo:page-sequence>
(XEP)中的结果:
[error] Duplicate identifier: flow-name="xsl-region-body".
Property 'flow-name' should be unique within 'fo:page-sequence'.
当流内容放在那里时,是否有任何方法可以在主区域放置静态内容? 或者:有没有办法定义分割2列布局的分隔符?
答案 0 :(得分:2)
我终于得到了以下解决方案:
使用<FO:Region-Before "extend=100%">
。
看起来您可以通过这种方式轻松重叠内容。所以,它有点像黑客,但是通过一个块容器的绝对定位,或者只是一个相对定位的块,它可以完成这项工作。