0

次の問題があります。

XSLFO を使用して、2 列のマルチページ ドキュメントを生成する必要があります。問題は: 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 に答える