2016-07-01 5 views
1

外部のグラフィック上にテキストのブロックをオーバーレイしようとしていますが、これを行うことはできますが、画像の上にテキストのブロックがレンダリングされるときはいつでもこのエラーが表示されます:Apache FOPの画像上にオーバーレイされたテキスト

org.apache.fop.layoutmgr.table.TableCellLayoutManager:私はブロック・コンテナおよびブロック、テーブルセルの高さを設定しようとしましたが、何も貢献していない

不明BPDに呼びかけgetContentAreaBPD。

<fo:table-cell display-align="center" height="229px"> 
      <fo:block> 
       <fo:block-container z-index="1" top="0px" left="0px"> 
        <fo:block height="229px" absolute-position="absolute"> 
         <fo:external-graphic scaling="non-uniform" src=url("http://previews.123rf.com/images/nujalee/nujalee1108/nujalee110800004/10410227-Beautiful-green-leaf-isolated-on-white-Stock-Photo-leaf-texture.jpg") content-height="229px" content-width="110px"/> 
        </fo:block> 
       </fo:block-container> 
       <fo:block-container z-index="2" background-color="#538000" height="20px" width="77px" bottom="-229px" right="0px" absolute-position="absolute"> 
        <fo:block color="#333333" font-size="10px" height="20px" font-family="Arial" display-align="center" text-align="center"> 
         LEAF 
        </fo:block> 
       </fo:block-container> 
      </fo:block> 
    </fo:table-cell> 

誰がどのように私はこのエラーを解決し、私が間違っていることができるものを私に導くことができる私を助けることができます。私はXSL-Recommendation状態というApacheFOP 2.1

答えて

0

を使用しています:

エリアの位置(及びおそらくサイズが)「左」、「右」、「上」、および「下」のプロパティで指定されています。 これらのプロパティは、領域の最も近い祖先参照領域に対するオフセットを指定します。

絶対に配置された領域が通常のフローから取り出されます。これは、の意味で、後の兄弟のレイアウトには影響しません

ので:他のオブジェクト内の絶対位置fo:block-containerfo:block要素を入れる必要はありません

  • 、彼らは私があなたに何を望むか理解していないfo:flow
  • の直接の子することができ2番目のfo:block-containerのプロパティbottom="-229px"で実現しますが、その実際の効果は、ページの外側の完全にボディ領域の下に領域を配置することです。オブジェクトを重複させたい場合は、代わりにを使用し、他のコンテナの高さよりも小さい値を
  • の時点でz-index is not supported by FOPに設定してください。重複オブジェクトが最初のものは、以下のものの下にあるので、文書内の順序に従って積層し、そして最後の一つは他のすべて

これはエラーなしFOPによって処理される簡略化された結果である上に表示されています:

<fo:flow flow-name="xsl-region-body"> 

     <fo:block height="229px" absolute-position="absolute"> 
      <fo:external-graphic scaling="non-uniform" src="url('http://previews.123rf.com/images/nujalee/nujalee1108/nujalee110800004/10410227-Beautiful-green-leaf-isolated-on-white-Stock-Photo-leaf-texture.jpg')" content-height="229px" content-width="110px"/> 
     </fo:block> 
     <fo:block-container background-color="#538000" height="20px" width="77px" absolute-position="absolute" top="30px"> 
      <fo:block color="#333333" font-size="10px" height="20px" font-family="Arial" display-align="center" text-align="center"> 
       LEAF 
      </fo:block> 
     </fo:block-container> 

    </fo:flow> 

(最後の注意として、エラー自体が原因のバグである可能性があり)

開示:最近は非常に活発ではないが、私は、FOPの開発者です。

関連する問題