0

我有以下问题:

我需要使用 XSLFO 来生成一个 2 列的多页文档。问题是:我需要在两列之间有一条垂直线。由于 XSLFO 似乎没有指定创建此类分隔符的选项,因此我需要手动将其放在那里。

我正在考虑使用带有领导者的静态旋转块容器。但是,似乎不可能在流内容所在的同一区域使用静态内容。

 <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 列布局的分隔符?

4

1 回答 1

2

我终于采用了以下解决方案:

使用<FO:Region-Before "extend=100%">.

看起来您可以通过这种方式轻松重叠内容。所以,这有点小技巧,但是通过块容器的一些绝对定位,或者只是一个相对定位的块,它可以完成这项工作。

于 2010-03-13T19:27:15.730 回答