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

을 사용하고 있습니다 :

지역의 위치 (및 크기하는)은 "왼쪽", "오른쪽", "top"및 "bottom"속성으로 지정됩니다. 이 속성은 해당 지역에서 가장 가까운 조상 참조 영역에 대한 오프셋을 지정합니다.

정상적인 흐름에서 절대적으로 위치하는 영역이 추출됩니다. 즉, 은 나중에 형제 인의 레이아웃에 영향을주지 않습니다.

그래서 : 다른 개체 내부의 절대 위치 fo:block-containerfo:block 요소를 넣을 필요가 없습니다

  • , 그들은 내가 당신이 원하는 것을 이해하지 fo:flow
  • 의 직계 자식이 될 수 있습니다 두번째 fo:block-container에있는 속성 bottom="-229px"으로 달성하십시오. 그러나 실제 효과는 페이지 영역 바깥의 몸체 영역 아래로 영역을 배치하는 것입니다. 겹치기를 원하면 top 대신 다른 용기의 높이보다 작은 값
  • 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 개발자 오전 아니지만 매우 활성화 된 요즘.